Mobrovac has uploaded a new change for review. https://gerrit.wikimedia.org/r/289216
Change subject: Update change-propagation to d7fb3e7 ...................................................................... Update change-propagation to d7fb3e7 List of changes: 2fbb41a Various stability improvements 00e21f5 Improved a regex checking regex 339290e Bump version and rename timeout to interval 196032d Removed self, replaced with this xxxxxxx Update node module dependencies Change-Id: If15a70c60354b37e8e0c1e4d52d96a45b66e8b7b --- M node_modules/hyperswitch/lib/filters/ratelimit_route.js M node_modules/hyperswitch/node_modules/json-stable-stringify/package.json M node_modules/hyperswitch/node_modules/swagger-ui/package.json M node_modules/hyperswitch/package.json M node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json M node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/inherits/package.json M node_modules/wmf-kafka-node/node_modules/snappy/build/Release/obj.target/deps/snappy/snappy.a M node_modules/wmf-kafka-node/node_modules/snappy/build/Release/snappy.a M node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json M node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json M src 11 files changed, 39 insertions(+), 30 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/change-propagation/deploy refs/changes/16/289216/1 diff --git a/node_modules/hyperswitch/lib/filters/ratelimit_route.js b/node_modules/hyperswitch/lib/filters/ratelimit_route.js index 2513a59..a145b9d 100644 --- a/node_modules/hyperswitch/lib/filters/ratelimit_route.js +++ b/node_modules/hyperswitch/lib/filters/ratelimit_route.js @@ -1,5 +1,7 @@ 'use strict'; +var HTTPError = require('../exports').HTTPError; + // Simple per-route rate limiter. module.exports = function(hyper, req, next, options, specInfo) { @@ -19,13 +21,23 @@ var key = pathKey + '|' + hyper._rootReq.headers['x-client-ip']; if (hyper.ratelimiter.isAboveLimit(key, options.limits[requestClass])) { - // TODO: Actually throw an HTTPError once we have verified limits to - // work well. - hyper.log('warn/ratelimit/' + pathKey, { - key: key, - limit: options.limits[requestClass], - message: 'Rate limit exceeded' - }); + if (options.log_only) { + hyper.log('warn/ratelimit/' + pathKey, { + key: key, + rate_limit_per_second: options.limits[requestClass], + message: 'Rate limit exceeded' + }); + } else { + throw new HTTPError({ + status: 429, + body: { + type: 'request_rate_exceeded', + title: 'HyperSwitch request rate limit exceeded', + key: key, + rate_limit_per_second: options.limits[requestClass], + } + }); + } } return next(hyper, req); }; diff --git a/node_modules/hyperswitch/node_modules/json-stable-stringify/package.json b/node_modules/hyperswitch/node_modules/json-stable-stringify/package.json index a34d1d1..fcb6f92 100644 --- a/node_modules/hyperswitch/node_modules/json-stable-stringify/package.json +++ b/node_modules/hyperswitch/node_modules/json-stable-stringify/package.json @@ -50,7 +50,7 @@ "url": "https://github.com/substack/json-stable-stringify/issues" }, "_id": "json-stable-stringify@1.0.0", - "_shasum": "3f9f166364a7e51f09eed3b2996698c9fb5848e4", + "_shasum": "87334793ad9df929f6dab885a07b780336c66b9a", "_from": "git+https://github.com/wikimedia/json-stable-stringify.git#master", "_resolved": "git+https://github.com/wikimedia/json-stable-stringify.git#c05178e4dfc3834017f017732934c1c52ba3dd8f" } diff --git a/node_modules/hyperswitch/node_modules/swagger-ui/package.json b/node_modules/hyperswitch/node_modules/swagger-ui/package.json index 738e9d4..9c3a81d 100644 --- a/node_modules/hyperswitch/node_modules/swagger-ui/package.json +++ b/node_modules/hyperswitch/node_modules/swagger-ui/package.json @@ -60,7 +60,7 @@ "url": "https://github.com/swagger-api/swagger-ui/issues" }, "_id": "swagger-ui@2.1.4", - "_shasum": "6386a760f4dd860332807fbe8d4421dc39adabd4", + "_shasum": "4b6a3c850d12ad5aa0088025a5100afdf78a7582", "_from": "git+https://github.com/wikimedia/swagger-ui.git#master", "_resolved": "git+https://github.com/wikimedia/swagger-ui.git#7bef30a93a3b81c55cb95d3ce9e0f9f53d5d8262" } diff --git a/node_modules/hyperswitch/package.json b/node_modules/hyperswitch/package.json index 5617bd0..2f5060b 100644 --- a/node_modules/hyperswitch/package.json +++ b/node_modules/hyperswitch/package.json @@ -1,6 +1,6 @@ { "name": "hyperswitch", - "version": "0.4.9", + "version": "0.4.10", "description": "REST API creation framework", "main": "index.js", "scripts": { @@ -34,8 +34,8 @@ "cassandra-uuid": "^0.0.2", "preq": "^0.4.8", "swagger-router": "^0.4.1", - "swagger-ui": "git+https://github.com/wikimedia/swagger-ui.git#master", - "json-stable-stringify": "git+https://github.com/wikimedia/json-stable-stringify.git#master", + "swagger-ui": "git+https://github.com/wikimedia/swagger-ui#master", + "json-stable-stringify": "git+https://github.com/wikimedia/json-stable-stringify#master", "ajv": "^3.7.2", "regexp-utils": "^0.3.2" }, @@ -49,15 +49,14 @@ "nock": "^8.0.0", "service-runner": "^1.1.7" }, - "gitHead": "87e12a62cf408ba848aa68b247f0f3d7e4d96a7e", - "_id": "hyperswitch@0.4.9", - "_shasum": "38593bfadcaf6fa8cc5c01aeba6ad1e5efe23e4d", + "gitHead": "953da24777a2a341d39d7623212c9d8e0aa8df71", + "_id": "hyperswitch@0.4.10", + "_shasum": "6628e3edd611766ce1f5dfeef5c6be8e78ad562e", "_from": "hyperswitch@>=0.4.9 <0.5.0", - "_npmVersion": "2.14.12", - "_nodeVersion": "4.3.0", + "_npmVersion": "1.4.21", "_npmUser": { - "name": "doorman", - "email": "marko.obro...@gmail.com" + "name": "gwicke", + "email": "gabr...@gwicke.net" }, "maintainers": [ { @@ -78,13 +77,13 @@ } ], "dist": { - "shasum": "38593bfadcaf6fa8cc5c01aeba6ad1e5efe23e4d", - "tarball": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.4.9.tgz" + "shasum": "6628e3edd611766ce1f5dfeef5c6be8e78ad562e", + "tarball": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.4.10.tgz" }, "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/hyperswitch-0.4.9.tgz_1462212084957_0.41819910844787955" + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/hyperswitch-0.4.10.tgz_1463429922541_0.6246885480359197" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.4.9.tgz" + "_resolved": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.4.10.tgz" } diff --git a/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json b/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json index 9fa7480..e5ccc5a 100644 --- a/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json +++ b/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json @@ -75,7 +75,7 @@ }, "homepage": "https://github.com/kadtools/kad#readme", "_id": "kad@1.3.6", - "_shasum": "ee3ab997e70585878fd3052b06e1880f609a8032", + "_shasum": "7c4da132dc78618ee0c975582a3022f823e76bd0", "_from": "git+https://github.com/gwicke/kad.git#master", "_resolved": "git+https://github.com/gwicke/kad.git#31449a27a289b6f0ecbeec193d8bac9db8b9f513" } diff --git a/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/inherits/package.json b/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/inherits/package.json index 71f09df..67d2c29 100644 --- a/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/inherits/package.json +++ b/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/inherits/package.json @@ -30,7 +30,7 @@ "shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1", "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, - "_from": "inherits@>=2.0.0 <3.0.0", + "_from": "inherits@>=2.0.1 <2.1.0", "_npmVersion": "1.3.8", "_npmUser": { "name": "isaacs", diff --git a/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/obj.target/deps/snappy/snappy.a b/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/obj.target/deps/snappy/snappy.a index dd2484f..9dcd388 100644 --- a/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/obj.target/deps/snappy/snappy.a +++ b/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/obj.target/deps/snappy/snappy.a Binary files differ diff --git a/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/snappy.a b/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/snappy.a index dd2484f..9dcd388 100644 --- a/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/snappy.a +++ b/node_modules/wmf-kafka-node/node_modules/snappy/build/Release/snappy.a Binary files differ diff --git a/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json b/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json index ee083b2..8aa3d45 100644 --- a/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +++ b/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json @@ -72,6 +72,5 @@ "tmp": "tmp/balanced-match-0.4.1.tgz_1462129663650_0.39764496590942144" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz" } diff --git a/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json b/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json index de8b785..da4330e 100644 --- a/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +++ b/node_modules/wmf-kafka-node/node_modules/snappy/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json @@ -78,6 +78,5 @@ } ], "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b", - "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" } diff --git a/src b/src index 0571b9e..d7fb3e7 160000 --- a/src +++ b/src -Subproject commit 0571b9e4ba0f99f4fc998458606ccc743aad8ee7 +Subproject commit d7fb3e7fb234c70b4418719fd5ecf35b37909064 -- To view, visit https://gerrit.wikimedia.org/r/289216 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If15a70c60354b37e8e0c1e4d52d96a45b66e8b7b Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/services/change-propagation/deploy Gerrit-Branch: master Gerrit-Owner: Mobrovac <mobro...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits