Merge pull request #1800 from vepkenez/upload-limits-1743

Limit data size posted to Nucypher nodes to 50k
pull/1821/head
K Prasch 2020-04-01 09:28:20 -07:00 committed by GitHub
commit 9bc98a0384
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 308 additions and 182 deletions

331
Pipfile.lock generated
View File

@ -47,10 +47,10 @@
},
"autobahn": {
"hashes": [
"sha256:8ece7d16e7998c2ed6210c278b4f59588b850e071af0f3fa98d2f2dbe1f62ce5",
"sha256:8fb9f3e7f6de5b7ee5479a56582873b927cc25d72319d0a86f43d992048d8171"
"sha256:0d8aeb6a9a4d790e51c48fcd84d72be0e2ef92147f0b44e9ab6acfd2af0589e7",
"sha256:88e150e4b3d284b83daafd8e0b289a5625ee00c633a2c580055bf1be2d391002"
],
"version": "==20.2.2"
"version": "==20.3.1"
},
"automat": {
"hashes": [
@ -145,11 +145,11 @@
},
"click": {
"hashes": [
"sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
"sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
"sha256:8a18b4ea89d8820c5d0c7da8a64b2c324b4dabb695804dbfea19b9be9d88c0cc",
"sha256:e345d143d80bf5ee7534056164e5e112ea5e22716bbb1ce727941f4c8b471b9a"
],
"index": "pypi",
"version": "==7.0"
"version": "==7.1.1"
},
"coincurve": {
"hashes": [
@ -243,17 +243,17 @@
},
"dateparser": {
"hashes": [
"sha256:983d84b5e3861cb0aa240cad07f12899bb10b62328aae188b9007e04ce37d665",
"sha256:e1eac8ef28de69a554d5fcdb60b172d526d61924b1a40afbbb08df459a36006b"
"sha256:1b1f0e3034f82d1f92b45fa445826da6a36d67af8a1169e04869685594276011",
"sha256:fb5bfde4795fa4b179fe05c2c25b3981f785de26bec37e247dee1079c63d5689"
],
"version": "==0.7.2"
"version": "==0.7.4"
},
"eth-abi": {
"hashes": [
"sha256:a8f3cc48a057dfcc77d4138920d482a9b0d3044e0ad68f0bc1bd8762720e0c13",
"sha256:ca76f5e64bc1d7a89edd7ab88dbf1afc21956f91b7ac00e062c4db5d8cd6e0c5"
"sha256:4bb1d87bb6605823379b07f6c02c8af45df01a27cc85bd6abb7cf1446ce7d188",
"sha256:78df5d2758247a8f0766a7cfcea4575bcfe568c34a33e6d05a72c328a9040444"
],
"version": "==2.1.0"
"version": "==2.1.1"
},
"eth-account": {
"hashes": [
@ -348,11 +348,11 @@
},
"hendrix": {
"hashes": [
"sha256:4ff6b7bbdddaa1e934eb3617cca6ebc66e405343bec7d8f4c4f8eebd64d3a5c7",
"sha256:80e8256512800e36567d5b382ffe940a47b63d0d4b9c68feb332f9b7f1d23ec0"
"sha256:5a1bad32ffa12ae8701e7564113473e55ab801d931465852675b46b57c376043",
"sha256:a08b74ca55eba2ddb32ef5267de37f9545f93785285560960f23dc61cd7935bf"
],
"index": "pypi",
"version": "==3.2.5"
"version": "==3.3.0"
},
"hexbytes": {
"hashes": [
@ -363,10 +363,10 @@
},
"humanize": {
"hashes": [
"sha256:3478104dcb9e111991ad141b15c9bf9522aa00ccfc5144561d639b3372e1d064",
"sha256:38ace9b66bcaeb7f8186b9dbf0b3448e00148e5b4fbaf726f96c789e52c3e741"
"sha256:1766e8b82772abdf54a0b3620b14b21b36feba5160401838f97d18a4c58c7f71",
"sha256:50423d4264ae51b660087a9b8fc26aa5b93319b26fa6430fc63facb7befd2e1e"
],
"version": "==1.0.0"
"version": "==2.0.0"
},
"hyperlink": {
"hashes": [
@ -382,6 +382,14 @@
],
"version": "==2.9"
},
"importlib-metadata": {
"hashes": [
"sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302",
"sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"
],
"markers": "python_version < '3.8'",
"version": "==1.5.0"
},
"incremental": {
"hashes": [
"sha256:717e12246dddf231a349175f48d74d93e2897244939173b01974ab6661406b9f",
@ -470,11 +478,11 @@
},
"marshmallow": {
"hashes": [
"sha256:3a94945a7461f2ab4df9576e51c97d66bee2c86155d3d3933fab752b31effab8",
"sha256:4b95c7735f93eb781dfdc4dded028108998cad759dda8dd9d4b5b4ac574cbf13"
"sha256:90854221bbb1498d003a0c3cc9d8390259137551917961c8b5258c64026b2f85",
"sha256:ac2e13b30165501b7d41fc0371b8df35944f5849769d136f20e2c5f6cdc6e665"
],
"index": "pypi",
"version": "==3.5.0"
"version": "==3.5.1"
},
"maya": {
"hashes": [
@ -525,14 +533,27 @@
},
"pendulum": {
"hashes": [
"sha256:1cde6e3c6310fb882c98f373795f807cb2bd6af01f34d2857e6e283b5ee91e09",
"sha256:485aef2089defee88607d37d5bc238934d0b90993d7bf9ceb36e481af41e9c66",
"sha256:57801754e05f30e8a7e4d24734c9fad82c6c3ec489151555f0fc66bb32ba6d6d",
"sha256:7ee344bc87cb425b04717b90d14ffde14c1dd64eaa73060b3772edcf57f3e866",
"sha256:c460f4d8dc41ec3c4377ac1807678cd72fe5e973cc2943c104ffdeaac32dacb7",
"sha256:d3078e007315a959989c41cee5cfd63cfeeca21dd3d8295f4bc24199489e9b6c"
"sha256:093cab342e10516660e64b935a6da1a043e0286de36cc229fb48471415981ffe",
"sha256:0cbbd4f30c69a283690d9ed8e58e44a990e067e59ee05b5ef55d022b38659aeb",
"sha256:2788945a0111d5325fd27ae3e3b18b741e440d20bdb7d4ea22fce7c9a4fbbf40",
"sha256:4420e058110740a8193fb0709350dfc6ac790a99c345fc4e92e24df0f834ddcb",
"sha256:575934b65b298eeb99c5a5b1673c945fc5c99e2b56caff772a91bc4b1eba7b82",
"sha256:6cf0f876cd088ee1578266f4231121376747aa90c3ed3b8e212a8344a9920061",
"sha256:70007aebc4494163f8705909a1996ce21ab853801b57fba4c2dd53c3df5c38f0",
"sha256:701127e1f0ff7c253cc0c07f29becc5f9210547914e0bbe59ffd9fa064d7c3c8",
"sha256:75a62e3f98499283fafe8ef4b44f81052e84825b00a0b64609dd8a06985382b9",
"sha256:816e01dcb0ba4ffcf2ceaafe4d644174fea680361e909f6f8ba0a4fdb2ccae24",
"sha256:9eda38ff65b1f297d860d3f562480e048673fb4b81fdd5c8c55decb519b97ed2",
"sha256:a79a72a7fd1092a7c69ddd8580a0be5365ded40c9f9c865623c7665742e3b888",
"sha256:aa13ddea12fd871d3191f633f08090b91ea2e80fb0ed50a7a149add7f680b12d",
"sha256:aa560bd39d94f3889646422f1e65b8dfd025bf6288d43e5c2e31d4f972aaf2e4",
"sha256:ac3c6a992beeb4c9bd90c317a1bb2a6cba159b49a49b6dd3c86b5bacb86f3d50",
"sha256:d42d1e870541eeaf3fe0500aac0c76a85bd4bd53ebed74f9a7daf8f01ac77374",
"sha256:eb7e349bb2d1b2b418d094e2179d6768561e8242fd8cb640b5aaba735f3e91d1",
"sha256:edd00e6b43698762e10bfda508cc9c06bad88c0703a9b37e412aec1189e06e23",
"sha256:ff7f3420de0c0cf21c1fc813d581fcfa4a1fb6d87f09485880b3e1204eb9cdd7"
],
"version": "==2.0.5"
"version": "==2.1.0"
},
"protobuf": {
"hashes": [
@ -602,9 +623,10 @@
},
"pycparser": {
"hashes": [
"sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
"sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0",
"sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"
],
"version": "==2.19"
"version": "==2.20"
},
"pycryptodome": {
"hashes": [
@ -649,10 +671,10 @@
},
"pyhamcrest": {
"hashes": [
"sha256:55abfc14ec38ed2bd6093add3be72385c1b7fd8e6aeb27448c00f95cb501c60e",
"sha256:9f12b9b3b109d4877b2a1a42a9fb8acbf350213d3b1873eecf6eb07d6ac3caef"
"sha256:412e00137858f04bde0729913874a48485665f2d36fe9ee449f26be864af9316",
"sha256:7ead136e03655af85069b6f47b23eb7c3e5c221aa9f022a4fbb499f5b7308f29"
],
"version": "==2.0.1"
"version": "==2.0.2"
},
"pynacl": {
"hashes": [
@ -812,10 +834,10 @@
},
"sqlalchemy": {
"hashes": [
"sha256:64a7b71846db6423807e96820993fa12a03b89127d278290ca25c0b11ed7b4fb"
"sha256:c4cca4aed606297afbe90d4306b49ad3a4cd36feb3f87e4bfd655c57fd9ef445"
],
"index": "pypi",
"version": "==1.3.13"
"version": "==1.3.15"
},
"tabulate": {
"hashes": [
@ -839,27 +861,9 @@
},
"twisted": {
"hashes": [
"sha256:0f39698c2aac318032ed4fe95e28ee2bd7d72327c2f6927139811ad403770885",
"sha256:1f0919a0363b4fbed5def5315383db36fd581464bca80290764f8c4465e91c04",
"sha256:257dbc78e72bc69c2970035fc74df54b04573d5ddd380251a8a23f74d619db03",
"sha256:3f651c52ad78cc5a643f61e3b786a6b5c9b4ee68eced975c04fdf6b02026f470",
"sha256:58b581ae4eee5a831aac9d03edc331d662fa028f601015bb3df47f8704bfe876",
"sha256:611ef7696d406605962d9a7b040d357f3e91df20cf75c0b06e350947f541538b",
"sha256:6338e5b987e95c94360acb14e78b41097be9b45d44d15a68060db9c3bf89e102",
"sha256:7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d",
"sha256:776c65270b57ac074d5b7a471142f434b0ac5a8b39d9c974769c855c32abfd91",
"sha256:8b2f7f4dded5ad02931bed38042e55329d1e4919b63078f5a29f05502a163f1d",
"sha256:97f8a76632bf051a27179337fe937df315920a08e9bd146126e0126629db3721",
"sha256:a1de7598ce977943b3edbcc0a7d2112f134cc1b98b2fd7e348ee9e0bef092e50",
"sha256:d145c418a46f8a7021030a3246b9e5111f64531278e5252f2073f23c1661c8be",
"sha256:d53e1f883bc429b14fd2999d355352974f9d7b4ae7554154bbfe3f90aecede5f",
"sha256:d9037ff5e07909b1d31f81db71a3bbc8227ba1ed20c87332bdb2eb48e55f326e",
"sha256:ef1396d1680d6a1ae6dff293d778755c8e10d471f286aff678877b2cee235d42",
"sha256:f1fe9139fdcf7721d308e36c51cf975474678a8241a9799af02a7bb1c531b722",
"sha256:f28355e61ce0b5c1ce47784522022322cc5059c8ed80638e0caae8c7301e1705",
"sha256:f7cc56a45c983e4e48601fbeec879b62c740cb848c75164f69a48ac0c6e8a21c"
"sha256:3ef6a1a51608a646afd75a617e25d56dccfa3b440d7b3fb9697ef56d17b1a9f1"
],
"version": "==19.10.0"
"version": "==20.3.0rc1"
},
"txaio": {
"hashes": [
@ -868,6 +872,15 @@
],
"version": "==20.1.1"
},
"typing-extensions": {
"hashes": [
"sha256:091ecc894d5e908ac75209f10d5b4f118fbdb2eb1ede6a63544054bb1edb41f2",
"sha256:910f4656f54de5993ad9304959ce9bb903f90aadc7c67a0bef07e678014e892d",
"sha256:cf8b63fedea4d89bab840ecbb93e75578af28f76f66c35889bd7065f5af88575"
],
"markers": "python_version < '3.8'",
"version": "==3.7.4.1"
},
"tzlocal": {
"hashes": [
"sha256:4e4c28c249322d80a1c87d3a9da2ef304875f6d6c6d9fdc177076f1523d17887",
@ -904,11 +917,11 @@
},
"web3": {
"hashes": [
"sha256:16f34e3af466fbdf6c3c41b05e1d7d74d71083d9189f181cc8fd352711b4c6da",
"sha256:59df0e25ca45cf03933c551811413e43975f36c6c2a7e5eb2fe8da11c2bfbb59"
"sha256:005acdbb5eedf847870b5ee533a68cb748a10088bdf45ba611045530a9058d58",
"sha256:6c8f622544e446c14ab8a8c71f466b936c4adab0374de1e1ba0f8375c56d396d"
],
"index": "pypi",
"version": "==5.6.0"
"version": "==5.7.0"
},
"websockets": {
"hashes": [
@ -944,49 +957,56 @@
],
"version": "==1.0.0"
},
"zipp": {
"hashes": [
"sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b",
"sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96"
],
"version": "==3.1.0"
},
"zope.interface": {
"hashes": [
"sha256:048b16ac882a05bc7ef534e8b9f15c9d7a6c190e24e8938a19b7617af4ed854a",
"sha256:05816cf8e7407cf62f2ec95c0a5d69ec4fa5741d9ccd10db9f21691916a9a098",
"sha256:065d6a1ac89d35445168813bed45048ed4e67a4cdfc5a68fdb626a770378869f",
"sha256:14157421f4121a57625002cc4f48ac7521ea238d697c4a4459a884b62132b977",
"sha256:18dc895945694f397a0be86be760ff664b790f95d8e7752d5bab80284ff9105d",
"sha256:1962c9f838bd6ae4075d0014f72697510daefc7e1c7e48b2607df0b6e157989c",
"sha256:1a67408cacd198c7e6274a19920bb4568d56459e659e23c4915528686ac1763a",
"sha256:21bf781076dd616bd07cf0223f79d61ab4f45176076f90bc2890e18c48195da4",
"sha256:21c0a5d98650aebb84efa16ce2c8df1a46bdc4fe8a9e33237d0ca0b23f416ead",
"sha256:23cfeea25d1e42ff3bf4f9a0c31e9d5950aa9e7c4b12f0c4bd086f378f7b7a71",
"sha256:24b6fce1fb71abf9f4093e3259084efcc0ef479f89356757780685bd2b06ef37",
"sha256:24f84ce24eb6b5fcdcb38ad9761524f1ae96f7126abb5e597f8a3973d9921409",
"sha256:25e0ef4a824017809d6d8b0ce4ab3288594ba283e4d4f94d8cfb81d73ed65114",
"sha256:2e8fdd625e9aba31228e7ddbc36bad5c38dc3ee99a86aa420f89a290bd987ce9",
"sha256:2f3bc2f49b67b1bea82b942d25bc958d4f4ea6709b411cb2b6b9718adf7914ce",
"sha256:35d24be9d04d50da3a6f4d61de028c1dd087045385a0ff374d93ef85af61b584",
"sha256:35dbe4e8c73003dff40dfaeb15902910a4360699375e7b47d3c909a83ff27cd0",
"sha256:3dfce831b824ab5cf446ed0c350b793ac6fa5fe33b984305cb4c966a86a8fb79",
"sha256:3f7866365df5a36a7b8de8056cd1c605648f56f9a226d918ed84c85d25e8d55f",
"sha256:455cc8c01de3bac6f9c223967cea41f4449f58b4c2e724ec8177382ddd183ab4",
"sha256:4bb937e998be9d5e345f486693e477ba79e4344674484001a0b646be1d530487",
"sha256:52303a20902ca0888dfb83230ca3ee6fbe63c0ad1dd60aa0bba7958ccff454d8",
"sha256:6e0a897d4e09859cc80c6a16a29697406ead752292ace17f1805126a4f63c838",
"sha256:6e1816e7c10966330d77af45f77501f9a68818c065dec0ad11d22b50a0e212e7",
"sha256:73b5921c5c6ce3358c836461b5470bf675601c96d5e5d8f2a446951470614f67",
"sha256:8093cd45cdb5f6c8591cfd1af03d32b32965b0f79b94684cd0c9afdf841982bb",
"sha256:864b4a94b60db301899cf373579fd9ef92edddbf0fb2cd5ae99f53ef423ccc56",
"sha256:8a27b4d3ea9c6d086ce8e7cdb3e8d319b6752e2a03238a388ccc83ccbe165f50",
"sha256:91b847969d4784abd855165a2d163f72ac1e58e6dce09a5e46c20e58f19cc96d",
"sha256:b47b1028be4758c3167e474884ccc079b94835f058984b15c145966c4df64d27",
"sha256:b68814a322835d8ad671b7acc23a3b2acecba527bb14f4b53fc925f8a27e44d8",
"sha256:bcb50a032c3b6ec7fb281b3a83d2b31ab5246c5b119588725b1350d3a1d9f6a3",
"sha256:c56db7d10b25ce8918b6aec6b08ac401842b47e6c136773bfb3b590753f7fb67",
"sha256:c94b77a13d4f47883e4f97f9fa00f5feadd38af3e6b3c7be45cfdb0a14c7149b",
"sha256:db381f6fdaef483ad435f778086ccc4890120aff8df2ba5cfeeac24d280b3145",
"sha256:e6487d01c8b7ed86af30ea141fcc4f93f8a7dde26f94177c1ad637c353bd5c07",
"sha256:e86923fa728dfba39c5bb6046a450bd4eec8ad949ac404eca728cfce320d1732",
"sha256:f6ca36dc1e9eeb46d779869c60001b3065fb670b5775c51421c099ea2a77c3c9",
"sha256:fb62f2cbe790a50d95593fb40e8cca261c31a2f5637455ea39440d6457c2ba25"
"sha256:02339c53bbf7e438dec371af1f401e4843f9dc5765b3b032032b195dd72b47f2",
"sha256:0616040d5a18786aff5d25ef6e1fa0f875b7ba5b6f1a923c1153be81dd9c65ad",
"sha256:07a8bb9110854c0ab9329adbbec7050af242a78a62e226ab49e9c2182090f501",
"sha256:07de051fac6dedc6c659034f80bc46623edc776c757fa26f3f467954b12d2403",
"sha256:08ae0a88ac29b92faff069e0511ad27197b3274bdf67ebd8c75aaeb05823c7af",
"sha256:1033e7bb858c398580ca7cbb50f15b715e6031d5772f8a1bde4042c12300a52a",
"sha256:11db683f49652b34aa87904b27d00f9032fa2db7f1f9676c05b13361a3c7547c",
"sha256:23c4a70a9abb8faa35e2967e2e7cbd9225512b706b6eb96b01eb1ccbb2b632c3",
"sha256:2690fd5b042062d866017db11ce1e12d4862df28614cc2915dc57e52b46a8594",
"sha256:31fdcc9eaf2c379e8b416184a0749ce3f95fdaf206b092b63bdc065aecca6a95",
"sha256:34381fcecc6e6f57d72bc2fab6175976eeacdd61dbb34427a37b260238278199",
"sha256:36e7438d2f71153cea6b119ddd2648bc010cec4368fd8e7170e50090c0d7ed19",
"sha256:3b6a2ef2c6b4e9786939bd9861e7b98bc01cb3024f87c8cf4b78872f2afcf584",
"sha256:4855384c27fe7e31efbee32f74659421d64e5bfa8b7df2ec08d306d0f3d4cee6",
"sha256:4d0830e1d544b2c303064ec01923de2b9d6f5b5d0d78608a91d758b0f469361c",
"sha256:61b95dbfd03ce2a55c38da711cba7130605dbef4839ca12b53c46827826c5c5b",
"sha256:64446f9baa2c51f47b0e272939c583ffd220e67f5bcbc2f18dd244c5a46a7018",
"sha256:65cef4766be4be9372621cd17773424302c21785dfaf6e9bd5b64b1f1264f9cc",
"sha256:6f1e8914eee2e3a0bcf435d963ca5cf3a3df89a47cbd3e2b16343bc875194fed",
"sha256:6f2bf246ee9350f428860c37db6158cfb27a7e585d60b2bb3b88864810875835",
"sha256:73a618e734803ded8b8d8f14f9a6371c6a1acc445840cf6ae57733041e796671",
"sha256:7d3c4f10b7a8502a68a8eadcd57e86a35e3948af3edee7bd49a21b225361b0da",
"sha256:98a21acc7d1e45fcb700831b66ec6c84a3c2a5a94868d72ef83565966adc474f",
"sha256:993051db4278f9ec3b191ae823a7bb32b6a91fed6e960d43500fc4ce64cdb4e0",
"sha256:9e67e9fa7dc43210ad766cd6eef133d9d256a530fe07e5585685cdc742170d10",
"sha256:a36e7e1972109504dfa0995a89b6c24a990113eb4cedef93d0eaf1452901b6ac",
"sha256:a41a34c55887743ee124e8f696217dec1a7eead1164d27ef27dfae528c396a23",
"sha256:a7b50fa86c1bd863ef3b3314da62928c015a732bb0aef220852b9606104f0df5",
"sha256:a82d36ecc28e72904388f72f57f3c04aee7c43a019e302d61944b3886c261be3",
"sha256:a9fce290a6ba88e5e6e81dd1e800c045212df69ab69d1de0d303b1af9cec692f",
"sha256:ae6c4a1fa696c12c3b654fa0d160f3781271f0edbbb0ae50f285a91f2a272a09",
"sha256:b0029f193d91a1e0085e4a99dd71e4c63a3e7826ec4a8d2ea457f02e1b6b0bb4",
"sha256:b12241fac561b635329c3275e911a53e104b43875b99d31332d006d52e180912",
"sha256:b906dda76ab70b6905ef3014260e7f1c861a0c4841e29826eb34a6187255504b",
"sha256:d79da12a15edd6d7c366766954c4b6de0247e85ba35ee2ad9f37f972e7080f8a",
"sha256:d8a0cb84de725ccd6abd9b5bd32cb94a11db336076fb6d459f1fed23d0719e0c",
"sha256:eb92c733be08c6e2b8dfd4613d1b3c2f345ca4f83219d40fda4680333d3a0dc4",
"sha256:f044fec9c7e1b0ec6fdf0d3abc648c2f3b9128933051a9a73af52dbdd9e6d6e9",
"sha256:fd1101bd3fcb4f4cf3485bb20d6cb0b56909b94d3bd2a53a6cb9d381c3da3365"
],
"version": "==4.7.1"
"version": "==4.7.2"
}
},
"develop": {
@ -1007,10 +1027,10 @@
},
"ansible": {
"hashes": [
"sha256:51ae50d33264eb644ecb79a0208a20569a1127ec3440e8de60eda3a2b3d9caa5"
"sha256:59cf3a0781f89992d1dae5205b07e802dff1db205eebd238de9e503b62b8cbc9"
],
"index": "pypi",
"version": "==2.9.5"
"version": "==2.9.6"
},
"apipkg": {
"hashes": [
@ -1161,10 +1181,10 @@
},
"decorator": {
"hashes": [
"sha256:54c38050039232e1db4ad7375cfce6748d7b41c29e95a081c8a6d2c30364a2ce",
"sha256:5d19b92a3c8f7f101c8dd86afd86b0f061a8ce4540ab8cd401fa2542756bce6d"
"sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760",
"sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"
],
"version": "==4.4.1"
"version": "==4.4.2"
},
"docutils": {
"hashes": [
@ -1228,6 +1248,14 @@
],
"version": "==1.2.0"
},
"importlib-metadata": {
"hashes": [
"sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302",
"sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"
],
"markers": "python_version < '3.8'",
"version": "==1.5.0"
},
"jinja2": {
"hashes": [
"sha256:c10142f819c2d22bdcd17548c46fa9b77cf4fda45097854c689666bf425e7484",
@ -1282,23 +1310,23 @@
},
"mypy": {
"hashes": [
"sha256:0a9a45157e532da06fe56adcfef8a74629566b607fa2c1ac0122d1ff995c748a",
"sha256:2c35cae79ceb20d47facfad51f952df16c2ae9f45db6cb38405a3da1cf8fc0a7",
"sha256:4b9365ade157794cef9685791032521233729cb00ce76b0ddc78749abea463d2",
"sha256:53ea810ae3f83f9c9b452582261ea859828a9ed666f2e1ca840300b69322c474",
"sha256:634aef60b4ff0f650d3e59d4374626ca6153fcaff96ec075b215b568e6ee3cb0",
"sha256:7e396ce53cacd5596ff6d191b47ab0ea18f8e0ec04e15d69728d530e86d4c217",
"sha256:7eadc91af8270455e0d73565b8964da1642fe226665dd5c9560067cd64d56749",
"sha256:7f672d02fffcbace4db2b05369142e0506cdcde20cea0e07c7c2171c4fd11dd6",
"sha256:85baab8d74ec601e86134afe2bcccd87820f79d2f8d5798c889507d1088287bf",
"sha256:87c556fb85d709dacd4b4cb6167eecc5bbb4f0a9864b69136a0d4640fdc76a36",
"sha256:a6bd44efee4dc8c3324c13785a9dc3519b3ee3a92cada42d2b57762b7053b49b",
"sha256:c6d27bd20c3ba60d5b02f20bd28e20091d6286a699174dfad515636cb09b5a72",
"sha256:e2bb577d10d09a2d8822a042a23b8d62bc3b269667c9eb8e60a6edfa000211b1",
"sha256:f97a605d7c8bc2c6d1172c2f0d5a65b24142e11a58de689046e62c2d632ca8c1"
"sha256:15b948e1302682e3682f11f50208b726a246ab4e6c1b39f9264a8796bb416aa2",
"sha256:219a3116ecd015f8dca7b5d2c366c973509dfb9a8fc97ef044a36e3da66144a1",
"sha256:3b1fc683fb204c6b4403a1ef23f0b1fac8e4477091585e0c8c54cbdf7d7bb164",
"sha256:3beff56b453b6ef94ecb2996bea101a08f1f8a9771d3cbf4988a61e4d9973761",
"sha256:7687f6455ec3ed7649d1ae574136835a4272b65b3ddcf01ab8704ac65616c5ce",
"sha256:7ec45a70d40ede1ec7ad7f95b3c94c9cf4c186a32f6bacb1795b60abd2f9ef27",
"sha256:86c857510a9b7c3104cf4cde1568f4921762c8f9842e987bc03ed4f160925754",
"sha256:8a627507ef9b307b46a1fea9513d5c98680ba09591253082b4c48697ba05a4ae",
"sha256:8dfb69fbf9f3aeed18afffb15e319ca7f8da9642336348ddd6cab2713ddcf8f9",
"sha256:a34b577cdf6313bf24755f7a0e3f3c326d5c1f4fe7422d1d06498eb25ad0c600",
"sha256:a8ffcd53cb5dfc131850851cc09f1c44689c2812d0beb954d8138d4f5fc17f65",
"sha256:b90928f2d9eb2f33162405f32dde9f6dcead63a0971ca8a1b50eb4ca3e35ceb8",
"sha256:c56ffe22faa2e51054c5f7a3bc70a370939c2ed4de308c690e7949230c995913",
"sha256:f91c7ae919bbc3f96cd5e5b2e786b2b108343d1d7972ea130f7de27fdd547cf3"
],
"index": "pypi",
"version": "==0.761"
"version": "==0.770"
},
"mypy-extensions": {
"hashes": [
@ -1309,10 +1337,10 @@
},
"packaging": {
"hashes": [
"sha256:170748228214b70b672c581a3dd610ee51f733018650740e98c7df862a583f73",
"sha256:e665345f9eef0c621aa0bf2f8d78cf6d21904eef16a93f020240b704a57f1334"
"sha256:3c292b474fda1671ec57d46d739d072bfd495a4f51ad01a055121d81e952b7a3",
"sha256:82f77b9bee21c1bafbf35a84905d604d5d1223801d639cf3ed140bd651c08752"
],
"version": "==20.1"
"version": "==20.3"
},
"pluggy": {
"hashes": [
@ -1334,16 +1362,17 @@
},
"pycparser": {
"hashes": [
"sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
"sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0",
"sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"
],
"version": "==2.19"
"version": "==2.20"
},
"pygments": {
"hashes": [
"sha256:2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b",
"sha256:98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe"
"sha256:647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44",
"sha256:ff7a40b4860b727ab48fad6360eb351cc1b33cbf9b15a0f689ca5353e9463324"
],
"version": "==2.5.2"
"version": "==2.6.1"
},
"pyparsing": {
"hashes": [
@ -1354,11 +1383,11 @@
},
"pytest": {
"hashes": [
"sha256:0d5fe9189a148acc3c3eb2ac8e1ac0742cb7618c084f3d228baaec0c254b318d",
"sha256:ff615c761e25eb25df19edddc0b970302d2a9091fbce0e7213298d85fb61fef6"
"sha256:0e5b30f5cb04e887b91b1ee519fa3d89049595f428c1db76e73bd7f17b09b172",
"sha256:84dde37075b8805f3d1f392cc47e38a0e59518fb46a431cfdaf7cf1ce805f970"
],
"index": "pypi",
"version": "==5.3.5"
"version": "==5.4.1"
},
"pytest-cov": {
"hashes": [
@ -1385,11 +1414,11 @@
},
"pytest-mypy": {
"hashes": [
"sha256:14c746bd0db5e36618f2fda0ba61ddeb5dc52129ab3923a70f592f934c8887db",
"sha256:6d47b786e460c5101423fec8462e17ac1b6e9c497b1052e790b2e4850a8b3796"
"sha256:ea5da19d7343d4ccd98c3fe39cc30dee2743b9fbf00999b2a863e3ead78e353c",
"sha256:f55dfbdd9e6749f5af3896e8ad813b611c3acadcec16ba728738777ccf9ce1d4"
],
"index": "pypi",
"version": "==0.5.0"
"version": "==0.6.0"
},
"pytest-twisted": {
"hashes": [
@ -1462,11 +1491,11 @@
},
"sphinx": {
"hashes": [
"sha256:776ff8333181138fae52df65be733127539623bb46cc692e7fa0fcfc80d7aa88",
"sha256:ca762da97c3b5107cbf0ab9e11d3ec7ab8d3c31377266fd613b962ed971df709"
"sha256:b4c750d546ab6d7e05bdff6ac24db8ae3e8b8253a3569b754e445110a0a12b66",
"sha256:fc312670b56cb54920d6cc2ced455a22a547910de10b3142276495ced49231cb"
],
"index": "pypi",
"version": "==2.4.3"
"version": "==2.4.4"
},
"sphinx-rtd-theme": {
"hashes": [
@ -1478,17 +1507,17 @@
},
"sphinxcontrib-applehelp": {
"hashes": [
"sha256:edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897",
"sha256:fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d"
"sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a",
"sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"
],
"version": "==1.0.1"
"version": "==1.0.2"
},
"sphinxcontrib-devhelp": {
"hashes": [
"sha256:6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34",
"sha256:9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981"
"sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e",
"sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"
],
"version": "==1.0.1"
"version": "==1.0.2"
},
"sphinxcontrib-htmlhelp": {
"hashes": [
@ -1506,17 +1535,17 @@
},
"sphinxcontrib-qthelp": {
"hashes": [
"sha256:513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20",
"sha256:79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f"
"sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72",
"sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"
],
"version": "==1.0.2"
"version": "==1.0.3"
},
"sphinxcontrib-serializinghtml": {
"hashes": [
"sha256:c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227",
"sha256:db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768"
"sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc",
"sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"
],
"version": "==1.1.3"
"version": "==1.1.4"
},
"typed-ast": {
"hashes": [
@ -1550,6 +1579,7 @@
"sha256:910f4656f54de5993ad9304959ce9bb903f90aadc7c67a0bef07e678014e892d",
"sha256:cf8b63fedea4d89bab840ecbb93e75578af28f76f66c35889bd7065f5af88575"
],
"markers": "python_version < '3.8'",
"version": "==3.7.4.1"
},
"urllib3": {
@ -1565,6 +1595,13 @@
"sha256:f28b3e8a6483e5d49e7f8949ac1a78314e740333ae305b4ba5defd3e74fb37a8"
],
"version": "==0.1.8"
},
"zipp": {
"hashes": [
"sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b",
"sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96"
],
"version": "==3.1.0"
}
}
}

View File

@ -1,7 +1,7 @@
-i https://pypi.python.org/simple
aafigure==0.6
alabaster==0.7.12
ansible==2.9.5
ansible==2.9.6
apipkg==1.5
attrs==19.3.0
babel==2.8.0
@ -12,7 +12,7 @@ chardet==3.0.4
commonmark==0.9.1
coverage==5.0.3
cryptography==2.8
decorator==4.4.1
decorator==4.4.2
docutils==0.16
execnet==1.7.1
filelock==3.0.12
@ -20,24 +20,25 @@ git+https://github.com/nucypher/py-solc.git@391b8da1a6bac5816877197bda25527c6b0b
greenlet==0.4.15
idna==2.9
imagesize==1.2.0
importlib-metadata==1.5.0 ; python_version < '3.8'
jinja2==3.0.0a1
markupsafe==1.1.1
more-itertools==8.2.0
mypy-extensions==0.4.3
mypy==0.761
packaging==20.1
mypy==0.770
packaging==20.3
pluggy==0.13.1
py==1.8.1
pycparser==2.19
pygments==2.5.2
pycparser==2.20
pygments==2.6.1
pyparsing==2.4.6
pytest-cov==2.8.1
pytest-forked==1.1.3
pytest-mock==2.0.0
pytest-mypy==0.5.0
pytest-mypy==0.6.0
pytest-twisted==1.12
pytest-xdist==1.31.0
pytest==5.3.5
pytest==5.4.1
pytz==2019.3
pyyaml==5.3
recommonmark==0.6.0
@ -45,14 +46,15 @@ requests==2.23.0
six==1.14.0
snowballstemmer==2.0.0
sphinx-rtd-theme==0.4.3
sphinx==2.4.3
sphinxcontrib-applehelp==1.0.1
sphinxcontrib-devhelp==1.0.1
sphinx==2.4.4
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==1.0.3
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.2
sphinxcontrib-serializinghtml==1.1.3
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.4
typed-ast==1.4.1
typing-extensions==3.7.4.1
typing-extensions==3.7.4.1 ; python_version < '3.8'
urllib3==1.25.8
wcwidth==0.1.8
zipp==3.1.0

View File

@ -27,7 +27,7 @@ from nucypher.blockchain.eth.registry import BaseContractRegistry
from nucypher.blockchain.eth.token import NU
from nucypher.characters.banners import FELIX_BANNER, NU_BANNER
from nucypher.characters.base import Character
from nucypher.config.constants import TEMPLATES_DIR
from nucypher.config.constants import TEMPLATES_DIR, MAX_UPLOAD_CONTENT_LENGTH
from nucypher.crypto.powers import SigningPower, TransactingPower
from nucypher.datastore.threading import ThreadedSession
@ -139,6 +139,8 @@ class Felix(Character, NucypherTokenActor):
short_name = bytes(self.stamp).hex()[:6]
self.rest_app = Flask(f"faucet-{short_name}", template_folder=TEMPLATES_DIR)
self.rest_app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{self.db_filepath}'
self.rest_app.config['MAX_CONTENT_LENGTH'] = MAX_UPLOAD_CONTENT_LENGTH
try:
self.rest_app.secret_key = sha256(os.environ['NUCYPHER_FELIX_DB_SECRET'].encode()) # uses envvar
except KeyError:
@ -333,7 +335,7 @@ class Felix(Character, NucypherTokenActor):
self.log.info(
f"Disbursement #{self.__disbursement} OK | {txhash.hex()[-6:]} |"
f"({str(NU(disbursement, 'NuNit'))} -> {recipient_address}")
return txhash
def airdrop_tokens(self):

View File

@ -14,6 +14,7 @@ from twisted.logger import Logger
from nucypher.characters.control.emitters import StdoutEmitter, WebEmitter, JSONRPCStdoutEmitter
from nucypher.characters.control.interfaces import CharacterPublicInterface
from nucypher.characters.control.specifications.exceptions import SpecificationError
from nucypher.config.constants import MAX_UPLOAD_CONTENT_LENGTH
from nucypher.cli.processes import JSONRPCLineReceiver
from nucypher.utilities.controllers import JSONRPCTestClient
@ -248,6 +249,7 @@ class WebController(CharacterControlServer):
def make_control_transport(self):
self._transport = Flask(self.app_name)
self._transport.config['MAX_CONTENT_LENGTH'] = MAX_UPLOAD_CONTENT_LENGTH
# Return FlaskApp decorator
return self._transport

View File

@ -58,3 +58,4 @@ NUCYPHER_SENTRY_ENDPOINT = f"https://{NUCYPHER_SENTRY_PUBLIC_KEY}@sentry.io/{NUC
# Web
TEMPLATES_DIR = os.path.join(abspath(dirname(cli.__file__)), 'templates')
MAX_UPLOAD_CONTENT_LENGTH = 1024 * 50

View File

@ -28,6 +28,7 @@ from umbral import pre
from umbral.keys import UmbralPrivateKey, UmbralPublicKey
from umbral.signing import Signature, Signer
from nucypher.config.constants import MAX_UPLOAD_CONTENT_LENGTH
from nucypher.crypto import api as API
from nucypher.crypto.api import generate_teacher_certificate
from nucypher.crypto.kits import MessageKit
@ -195,4 +196,7 @@ class HostingKeypair(Keypair):
context_factory=ExistingKeyTLSContextFactory,
context_factory_kwargs={"curve_name": self.curve.name,
"sslmethod": TLSv1_2_METHOD},
options={"wsgi": rest_app, "https_port": port})
options={
"wsgi": rest_app,
"https_port": port,
"max_upload_bytes": MAX_UPLOAD_CONTENT_LENGTH})

View File

@ -36,6 +36,7 @@ from web3.exceptions import TimeExhausted
import nucypher
from nucypher.config.storages import ForgetfulNodeStorage
from nucypher.config.constants import MAX_UPLOAD_CONTENT_LENGTH
from nucypher.crypto.kits import UmbralMessageKit
from nucypher.crypto.powers import KeyPairBasedPower, PowerUpError
from nucypher.crypto.signing import InvalidSignature
@ -112,6 +113,7 @@ def make_rest_app(
_node_class = Ursula
rest_app = Flask("ursula-service")
rest_app.config['MAX_CONTENT_LENGTH'] = MAX_UPLOAD_CONTENT_LENGTH
@rest_app.route("/public_information")
def public_information():

View File

@ -175,3 +175,9 @@ class EvilMiddleWare(MockRestMiddleware):
data=bytes(VariableLengthBytestring(shitty_interface_id))
)
return response
def upload_arbitrary_data(self, node, path, data):
response = self.client.post(node_or_sprout=node,
path=path,
data=data)
return response

View File

@ -3,7 +3,7 @@ appdirs==1.4.3
asn1crypto==1.3.0
attrdict==2.0.1
attrs==19.3.0
autobahn==20.2.2
autobahn==20.3.1
automat==20.2.0
base58==2.0.0
blake2b-py==0.1.3
@ -12,15 +12,15 @@ cached-property==1.5.1
certifi==2019.11.28
cffi==1.14.0
chardet==3.0.4
click==7.0
click==7.1.1
coincurve==13.0.0
colorama==0.4.3
constant-sorrow==0.1.0a8
constantly==15.1.0
cryptography==2.8
cytoolz==0.10.1 ; implementation_name == 'cpython'
dateparser==0.7.2
eth-abi==2.1.0
dateparser==0.7.4
eth-abi==2.1.1
eth-account==0.4.0
eth-bloom==1.0.3
eth-hash[pycryptodome]==0.2.0
@ -33,11 +33,12 @@ eth-utils==1.8.4
flask-limiter==1.2.1
flask-sqlalchemy==2.4.1
flask==1.1.1
hendrix==3.2.5
hendrix==3.3.0
hexbytes==0.2.0
humanize==1.0.0
humanize==2.0.0
hyperlink==19.0.0
idna==2.9
importlib-metadata==1.5.0 ; python_version < '3.8'
incremental==17.5.0
ipfshttpclient==0.4.12
itsdangerous==1.1.0
@ -46,7 +47,7 @@ jsonschema==3.2.0
limits==1.5.1
lru-dict==1.1.6
markupsafe==1.1.1
marshmallow==3.5.0
marshmallow==3.5.1
maya==0.6.1
msgpack-python==0.5.6
multiaddr==0.0.9
@ -54,7 +55,7 @@ mypy-extensions==0.4.3
netaddr==0.7.19
parsimonious==0.8.1
pathtools==0.1.2
pendulum==2.0.5
pendulum==2.1.0
protobuf==3.11.3
py-ecc==1.7.1
py-evm==0.3.0a14
@ -62,10 +63,10 @@ py-geth==2.2.0
pyasn1-modules==0.2.8
pyasn1==0.4.8
pychalk==2.0.1
pycparser==2.19
pycparser==2.20
pycryptodome==3.9.7
pyethash==0.1.27
pyhamcrest==2.0.1
pyhamcrest==2.0.2
pynacl==1.3.0
pyopenssl==19.1.0
pyrsistent==0.15.7
@ -80,18 +81,20 @@ semantic-version==2.8.4
service-identity==18.1.0
six==1.14.0
snaptime==0.2.4
sqlalchemy==1.3.13
sqlalchemy==1.3.15
tabulate==0.8.6
toolz==0.10.0
trie==1.4.0
twisted==19.10.0
twisted==20.3.0rc1
txaio==20.1.1
typing-extensions==3.7.4.1 ; python_version < '3.8'
tzlocal==2.1b1
umbral==0.1.3a2
urllib3==1.25.8
varint==1.0.2
watchdog==0.10.2
web3==5.6.0
web3==5.7.0
websockets==8.1
werkzeug==1.0.0
zope.interface==4.7.1
zipp==3.1.0
zope.interface==4.7.2

View File

@ -15,7 +15,7 @@ fi
echo "Removing existing lock files..."
pipenv --rm
rm Pipfile.lock
rm -f Pipfile.lock
rm -f $PREFIX.txt
rm -f dev-$PREFIX.txt

View File

@ -23,8 +23,8 @@ def test_destroy_with_no_configurations(click_runner, custom_filepath):
destruction_args = ('ursula', 'destroy', '--config-file', ursula_file_location)
result = click_runner.invoke(nucypher_cli, destruction_args, catch_exceptions=False)
assert result.exit_code == 2
assert 'Error: Invalid value for "--config-file":'
assert f'"{ursula_file_location}" does not exist.' in result.output
assert "Error: Invalid value for '--config-file':" in result.output
assert ursula_file_location in result.output
def test_coexisting_configurations(click_runner,

View File

@ -1,11 +1,19 @@
import datetime
import maya
import pytest
import io
import os
import requests
from twisted.internet import threads
import pytest_twisted
from werkzeug.exceptions import RequestEntityTooLarge
from nucypher.network.nodes import Learner
from nucypher.policy.collections import TreasureMap
from nucypher.policy.policies import Policy
from nucypher.utilities.sandbox.middleware import NodeIsDownMiddleware
from nucypher.utilities.sandbox.middleware import NodeIsDownMiddleware, EvilMiddleWare
from nucypher.utilities.sandbox.ursula import make_federated_ursulas
from bytestring_splitter import BytestringSplittingError
from functools import partial
@ -117,3 +125,62 @@ def test_node_has_changed_cert(federated_alice, federated_ursulas):
# Cool - we didn't crash because of SSLError.
# TODO: Assertions and such.
def test_huge_treasure_maps_are_rejected(federated_alice, federated_ursulas):
federated_alice.network_middleware = EvilMiddleWare()
firstula = list(federated_ursulas)[0]
ok_amount = 10 * 1024 # 10k
ok_data = os.urandom(ok_amount)
with pytest.raises(BytestringSplittingError):
federated_alice.network_middleware.upload_arbitrary_data(
firstula, 'consider_arrangement', ok_data
)
"""
TODO: the following does not work because of this issue: https://github.com/pallets/werkzeug/issues/1513
it is implemented at a lower level through hendrix
but would be nice if it could be configurable through
flask as well and thus, testable here...
evil_amount = 5000 * 1024
evil_data = os.urandom(evil_amount)
with pytest.raises(RequestEntityTooLarge):
federated_alice.network_middleware.upload_arbitrary_data(
firstula, 'consider_arrangement', evil_data
)
"""
@pytest_twisted.inlineCallbacks
def test_hendrix_handles_content_length_validation(ursula_federated_test_config):
node = make_federated_ursulas(ursula_config=ursula_federated_test_config, quantity=1).pop()
node_deployer = node.get_deployer()
node_deployer.addServices()
node_deployer.catalogServers(node_deployer.hendrix)
node_deployer.start()
def check_node_rejects_large_posts(node):
too_much_data = os.urandom(100 * 1024)
response = requests.post(
"https://{}/consider_arrangement".format(node.rest_url()),
data=too_much_data, verify=False)
assert response.status_code > 400
assert response.reason == "Request Entity Too Large"
return node
def check_node_accepts_normal_posts(node):
a_normal_arrangement = os.urandom(49 * 1024) # 49K, the limit is 50K
response = requests.post(
"https://{}/consider_arrangement".format(node.rest_url()),
data=a_normal_arrangement, verify=False)
assert response.status_code >= 500 # it still fails because we are sending random bytes
assert response.reason != "Request Entity Too Large" # but now we are running nucypher code
return node
yield threads.deferToThread(check_node_rejects_large_posts, node)
yield threads.deferToThread(check_node_accepts_normal_posts, node)