Mobrovac has uploaded a new change for review. https://gerrit.wikimedia.org/r/291872
Change subject: Update restbase to 94aa724 ...................................................................... Update restbase to 94aa724 List of changes: 94aa724 Document rate limits for pageview API end points (#622) xxxxxxx Update node module dependencies Change-Id: Iecdb9a5fcf52cc52ba036d3bf1d90641a278ed21 --- M node_modules/content-type/package.json M node_modules/hyperswitch/lib/hyperswitch.js M node_modules/hyperswitch/lib/server.js M node_modules/hyperswitch/node_modules/json-stable-stringify/package.json D node_modules/hyperswitch/node_modules/swagger-router/config.example.yaml D node_modules/hyperswitch/node_modules/swagger-router/interfaces/mediawiki-content.yaml M node_modules/hyperswitch/node_modules/swagger-router/lib/node.js M node_modules/hyperswitch/node_modules/swagger-router/lib/reqTemplate.js M node_modules/hyperswitch/node_modules/swagger-router/package.json M node_modules/hyperswitch/node_modules/swagger-router/test/features/reqTemplate.js M node_modules/hyperswitch/node_modules/swagger-ui/package.json M node_modules/hyperswitch/package.json M node_modules/json-stable-stringify/package.json M node_modules/restbase-mod-table-cassandra/node_modules/cassandra-driver/package.json M node_modules/restbase-mod-table-cassandra/node_modules/json-stable-stringify/package.json M node_modules/restbase-mod-table-cassandra/node_modules/restbase-mod-table-spec/node_modules/routeswitch/node_modules/async/package.json M node_modules/service-runner/lib/docker.js M node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan.h M node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_implementation_12_inl.h M node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_maybe_43_inl.h M node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_object_wrap.h M node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_weak.h M node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/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/core-util-is/package.json M node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/string_decoder/package.json M node_modules/service-runner/package.json M restbase 28 files changed, 140 insertions(+), 490 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/restbase/deploy refs/changes/72/291872/1 diff --git a/node_modules/content-type/package.json b/node_modules/content-type/package.json index a60e830..5c77397 100644 --- a/node_modules/content-type/package.json +++ b/node_modules/content-type/package.json @@ -44,7 +44,7 @@ }, "homepage": "https://github.com/jshttp/content-type#readme", "_id": "content-type@1.0.1", - "_shasum": "bbff44a6c10face0ca9f18ebe7b807470e950096", + "_shasum": "bd8dabdf780a3bb2debf6f8890f9372d611b91fe", "_from": "git+https://github.com/wikimedia/content-type.git#master", "_resolved": "git+https://github.com/wikimedia/content-type.git#47b2632d0a2ee79a7d67268e2f6621becd95d05b" } diff --git a/node_modules/hyperswitch/lib/hyperswitch.js b/node_modules/hyperswitch/lib/hyperswitch.js index 6bbe388..72b8e21 100644 --- a/node_modules/hyperswitch/lib/hyperswitch.js +++ b/node_modules/hyperswitch/lib/hyperswitch.js @@ -21,14 +21,15 @@ * @returns a shallow copy of a provided requests */ function cloneRequest(req) { - return { - uri: req.uri || req.url || null, - method: req.method || 'get', - headers: req.headers || {}, - query: req.query || {}, - body: req.body !== undefined ? req.body : null, - params: req.params || {} - }; + var newReq = Object.assign({}, req); + newReq.url = undefined; + newReq.uri = req.uri || req.url || null; + newReq.method = req.method || 'get'; + newReq.headers = req.headers || {}; + newReq.query = req.query || {}; + newReq.body = req.body !== undefined ? req.body : null; + newReq.params = req.params || {}; + return newReq; } function HyperSwitch(options, req, parOptions) { diff --git a/node_modules/hyperswitch/lib/server.js b/node_modules/hyperswitch/lib/server.js index 9e95f35..7370138 100644 --- a/node_modules/hyperswitch/lib/server.js +++ b/node_modules/hyperswitch/lib/server.js @@ -334,6 +334,7 @@ 'x-forwarded-for': req.headers['x-forwarded-for'], 'x-request-id': req.headers['x-request-id'], 'x-request-class': req.headers['x-request-class'], + 'x-triggered-by': req.headers['x-triggered-by'] }, }, request_id: req.headers['x-request-id'] 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 e141fbc..86b6dfe 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": "e26306d6f9a6aa33ad0276e8ca9282536bf16b0e", + "_shasum": "6ea5cafa1ccef36c8b33c3720f4145372083c650", "_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-router/config.example.yaml b/node_modules/hyperswitch/node_modules/swagger-router/config.example.yaml deleted file mode 100644 index bc806bf..0000000 --- a/node_modules/hyperswitch/node_modules/swagger-router/config.example.yaml +++ /dev/null @@ -1,156 +0,0 @@ -# RESTBase config - -port: 7231 - -# System domain (used to store restbase metadata) -sysdomain: restbase.local - -templates: - wmf-content-1.0.0: &wp/content/1.0.0 - swagger: '2.0' - # swagger options, overriding the shared ones from the merged specs (?) - info: - version: 1.0.0-abcd - title: Standard Wikimedia content API - description: All the content for this domain. - termsOfService: http://wikimedia.org/terms/ - contact: - name: The project maintainers - url: http://mediawiki.org/wiki/RESTBase - license: - name: Creative Commons 4.0 International - url: http://creativecommons.org/licenses/by/4.0/ - security: - # ACLs for public *.wikipedia.org wikis - - mediaWikiAuth: - - user:read - paths: - /v1: - x-restbase: - interfaces: - - mediawiki-content - # - mediawiki/v1/content - # - mediawiki/v1/mobile - # - mediawiki/v1/revision-scoring - - x-restbase-paths: # Internal paths. These use the same config structure as - # regular paths, but are restricted to internal use and - # don't show up in swagger. - # - # This stanza defines the /{domain}/sys/ hierarchy. - - /sys/table: &wp/sys/table # Can use this anchor to share the table - # backend even if other parts differ - x-restbase: - interfaces: - - restbase/sys/table - modules: - # There can be multiple modules too per stanza, as long as the - # exported symbols don't conflict. The operationIds from the spec - # will be resolved against all of the modules. - - name: restbase-cassandra - version: 1.0.0 - type: npm - options: # Passed to the module constructor - hosts: [localhost] - keyspace: system - username: cassandra - password: cassandra - defaultConsistency: localQuorum # or 'one' for single-node testing - - /sys/page_revisions: &wp-page-revisions - x-restbase: - interfaces: - - mediawiki/sys/page_revisions - modules: - - name: restbase-mod-page_revisions - version: 1.0.0 - type: npm - options: - apiURL: http://{domain}/w/api.php - - /sys/key_rev_value: &wp/sys/key_rev_value - x-restbase: - interfaces: - - restbase/sys/key_rev_value - modules: - - name: restbase-mod-key_rev_value - version: 1.0.0 - type: npm - - /sys/parsoid: - x-restbase: - interfaces: - - mediawiki/sys/parsoid - modules: - - name: restbase-mod-parsoid - version: 1.0.0 - type: npm - options: - parsoidHost: http://parsoid-lb.wikimedia.org - apiURL: http://{domain}/w/api.php - resources: - # Storage owned by this module. Created / checked after setting up - # all modules (separate traversal). - # Convention: Prefix each entry with the owning sys path to avoid - # conflicts. - - uri: /{domain}/sys/key_rev_value/parsoid.html - - uri: /{domain}/sys/key_rev_value/parsoid.data-parsoid - - uri: /{domain}/sys/key_rev_value/parsoid.data-mw - - uri: /{domain}/sys/key_rev_value/parsoid.wikitext - - /sys/revscore: - title: Simple revscore service wrapper - x-restbase: - # Generic revision service interface; Expects requests of the form - # /{title}/{revision}. - # Specific interface documentation (content types etc) at public - # entry point, although we might also want to enforce them - # internally. - interfaces: - - restbase/sys/key_rev_service - modules: - - name: restbase-mod-service - version: 1.0.0 # simple service module, to be shared - options: - storage: - uri: /{domain}/sys/key_rev_value/revscore.scores/{title}/{revision} - service: - uri: http://revscore.wikimedia.org/{domain}/{title}/{revision} - resources: - - uri: /{domain}/sys/key_rev_value/revscore.scores - - - -spec: - title: "The RESTBase root" - # Some more general RESTBase info - paths: - /{domain:en.wikipedia.org}: - x-restbase: - interfaces: - - *wp/content/1.0.0 - /{domain:de.wikipedia.org}: - x-restbase: - interfaces: - - *wp/content/1.0.0 - /{domain:es.wikipedia.org}: - x-restbase: - interfaces: - - *wp/content/1.0.0 - /{domain:nl.wikipedia.org}: - x-restbase: - interfaces: - - *wp/content/1.0.0 - - -logging: - name: restbase - #streams: - ## XXX: Use gelf-stream -> logstash - #- type: gelf - # host: <%= @logstash_host %> - # port: <%= @logstash_port %> - -monitoring: - # statsdHost: localhost diff --git a/node_modules/hyperswitch/node_modules/swagger-router/interfaces/mediawiki-content.yaml b/node_modules/hyperswitch/node_modules/swagger-router/interfaces/mediawiki-content.yaml deleted file mode 100644 index a7965ed..0000000 --- a/node_modules/hyperswitch/node_modules/swagger-router/interfaces/mediawiki-content.yaml +++ /dev/null @@ -1,245 +0,0 @@ -swagger: '2.0' -info: - version: '1.0.0' - title: mediawiki content api - description: basic mediawiki content api. - termsofservice: https://github.com/wikimedia/restbase#restbase - contact: - name: services - email: servi...@lists.wikimedia.org - url: https://www.mediawiki.org/wiki/services - license: - name: gnu affero - url: http://opensource.org/licenses/agpl-3.0 - -paths: - - /page/{title}/html: - get: - tags: - - page content - description: redirects to the latest html - operationid: getlatestformat - parameters: - - name: domain - in: path - description: the domain under which the data resides - type: string - required: true - default: en.wikipedia.org - - name: title - in: path - description: the title of page content - type: string - required: true - responses: - '302': - description: redirection to the latest html - '404': - description: unknown table, bucket, or domain - schema: - $ref: '#/definitions/notfound' - default: - description: unexpected error - schema: - $ref: '#/definitions/defaulterror' - x-restbase: - service: - # Directly return the latest HTML. Alternatively, we could also try - # relative redirects. A relative location header of 'foo/bar' seems to - # work in current Chrome and Firefox. - # See also http://tools.ietf.org/html/rfc7231#section-7.1.2 - uri: /{domain}/sys/parsoid/html/{title}/latest - - /page/{title}/html/: - get: - tags: - - Page content - description: Returns the list of revisions - operationId: listKeyRevValueRevisions - produces: - - application/json - parameters: - - name: domain - in: path - description: The domain under which the data resides - type: string - required: true - default: en.wikipedia.org - - name: title - in: path - description: The title of page content - type: string - required: true - responses: - '200': - description: The list of revisions - schema: - type: array - items: - $ref: '#/definitions/revisions' - default: - description: Unexpected error - schema: - $ref: '#/definitions/defaultError' - x-restbase: - service: - uri: /{domain}/sys/parsoid/html/{title}/ - - /page/{title}/data-parsoid/{revision}: - get: - tags: - - Page content - description: Returns the Parsoid data for the given revision - operationId: getFormatRevision - produces: - - text/html - parameters: - - name: domain - in: path - description: The domain under which the data resides' - type: string - required: true - default: en.wikipedia.org - - name: title - in: path - description: The title of page content - type: string - required: true - - name: revision - in: path - description: The revision - type: string - required: true - responses: - '200': - description: The latest Parsoid data for the given page - '400': - description: Invalid revision - schema: - $ref: '#/definitions/invalidRevision' - '404': - description: Unknown table, bucket, page, or domain - schema: - $ref: '#/definitions/notFound' - default: - description: Unexpected error - schema: - $ref: '#/definitions/defaultError' - x-restbase: - service: - uri: /{domain}/sys/parsoid/data-parsoid/{title}/{revision} - headers: - cache-control: $req.headers.cache-control - - - /page/{title}/html/{revision}: - get: - tags: - - Page content - description: Returns the html for the given revision - operationId: getFormatRevision - produces: - - text/html - parameters: - - name: domain - in: path - description: The domain under which the data resides' - type: string - required: true - default: en.wikipedia.org - - name: title - in: path - description: The title of page content - type: string - required: true - - name: revision - in: path - description: The revision - type: string - required: true - responses: - '200': - description: The latest html for the given page - '400': - description: Invalid revision - schema: - $ref: '#/definitions/invalidRevision' - '404': - description: Unknown table, bucket, page, or domain - schema: - $ref: '#/definitions/notFound' - default: - description: Unexpected error - schema: - $ref: '#/definitions/defaultError' - x-restbase: - service: - uri: /{domain}/sys/parsoid/html/{title}/{revision} - headers: - cache-control: $req.headers.cache-control - - -definitions: - defaultError: - required: - - code - - message - properties: - code: - type: integer - format: int32 - message: - type: string - invalidRevision: - required: - - code - - method - - title - - type - - uri - properties: - code: - type: integer - format: int32 - method: - type: string - title: - type: string - type: - type: string - uri: - type: string - notFound: - required: - - code - - method - - title - - type - - uri - properties: - code: - type: integer - format: int32 - type: - type: string - title: - type: string - description: - type: string - localURI: - type: string - table: - type: string - uri: - type: string - method: - type: string - revisions: - required: - - items - properties: - items: - type: array - items: - type: string diff --git a/node_modules/hyperswitch/node_modules/swagger-router/lib/node.js b/node_modules/hyperswitch/node_modules/swagger-router/lib/node.js index 99100fe..66c714a 100644 --- a/node_modules/hyperswitch/node_modules/swagger-router/lib/node.js +++ b/node_modules/hyperswitch/node_modules/swagger-router/lib/node.js @@ -149,9 +149,9 @@ newMethods[method] = '<' + val[method].name + '>'; }); res.methods = newMethods; - // Omit the specRoot, as it tends to be huge & contains reference - // circles. } else if (key !== 'specRoot') { + // Omit the specRoot, as it tends to be huge & contains reference + // circles. res[key] = val; } }); diff --git a/node_modules/hyperswitch/node_modules/swagger-router/lib/reqTemplate.js b/node_modules/hyperswitch/node_modules/swagger-router/lib/reqTemplate.js index 2aff35f..7e99720 100644 --- a/node_modules/hyperswitch/node_modules/swagger-router/lib/reqTemplate.js +++ b/node_modules/hyperswitch/node_modules/swagger-router/lib/reqTemplate.js @@ -116,13 +116,10 @@ if (!isValidDate(date)) { var origDate = date; - if (typeof date === 'string') { + if (typeof date === 'string' && !Number.isNaN(date)) { // It's a string, but may be it's just a stringified timestamp. // Check if it actually is. - var tempNumDate = parseInt(date); - if (!Number.isNaN(tempNumDate)) { - date = tempNumDate; - } + date = parseInt(date); } date = new Date(date); @@ -367,8 +364,6 @@ if (part === 'uri') { globals._uri = createURIResolver(spec.uri, globals); spec.uri = 'rc.g._uri(c)'; - } else if (part === 'method') { - spec.method = "'" + (spec.method || 'get') + "'"; } else { spec[part] = replaceComplexTemplates(part, spec[part], globals); } @@ -419,6 +414,10 @@ } var ret = res; res = null; + // ensure a reasonable fallback for ret.method + if (ret && ret.hasOwnProperty('method')) { + ret.method = ret.method || 'get'; + } return ret; }; } diff --git a/node_modules/hyperswitch/node_modules/swagger-router/package.json b/node_modules/hyperswitch/node_modules/swagger-router/package.json index 6157357..8181404 100644 --- a/node_modules/hyperswitch/node_modules/swagger-router/package.json +++ b/node_modules/hyperswitch/node_modules/swagger-router/package.json @@ -1,6 +1,6 @@ { "name": "swagger-router", - "version": "0.4.3", + "version": "0.4.5", "description": "An efficient swagger 2 based router with support for multiple APIs. For use in RESTBase.", "main": "index.js", "scripts": { @@ -23,39 +23,39 @@ "name": "Gabriel Wicke", "email": "gwi...@wikimedia.org" }, - "license": "Apache2", + "license": "Apache-2.0", "bugs": { "url": "https://github.com/gwicke/swagger-router/issues" }, "dependencies": { - "bluebird": "^3.1.1", - "core-js": "^2.0.3", - "js-yaml": "^3.5.2", + "bluebird": "^3.4.0", + "core-js": "^2.4.0", + "js-yaml": "^3.6.1", "tassembly": "^0.2.3", "template-expression-compiler": "^0.1.8" }, "devDependencies": { - "mocha": "^2.3.4", - "mocha-jshint": "^2.2.6", - "istanbul": "^0.4.2", - "mocha-lcov-reporter": "^1.0.0", - "coveralls": "^2.11.6", - "mocha-jscs": "^4.0.0" + "mocha": "^2.5.3", + "mocha-jshint": "^2.3.1", + "istanbul": "^0.4.3", + "mocha-lcov-reporter": "^1.2.0", + "coveralls": "^2.11.9", + "mocha-jscs": "^5.0.0" }, - "gitHead": "24ea18026347232209d53d32dccb1d30e92256f9", + "gitHead": "a0180f176ac03297c15cb9601e2a101a28d43f83", "homepage": "https://github.com/gwicke/swagger-router#readme", - "_id": "swagger-router@0.4.3", - "_shasum": "9058ab41412c5b608f113b116e5dbac7d8be75be", + "_id": "swagger-router@0.4.5", + "_shasum": "288bb3e0055fb2107e4aadfaa7fb477e744b53f4", "_from": "swagger-router@>=0.4.1 <0.5.0", - "_npmVersion": "2.14.12", - "_nodeVersion": "4.3.0", + "_npmVersion": "2.14.20", + "_nodeVersion": "4.4.0", "_npmUser": { - "name": "doorman", - "email": "marko.obro...@gmail.com" + "name": "pchelolo", + "email": "petrpche...@gmail.com" }, "dist": { - "shasum": "9058ab41412c5b608f113b116e5dbac7d8be75be", - "tarball": "https://registry.npmjs.org/swagger-router/-/swagger-router-0.4.3.tgz" + "shasum": "288bb3e0055fb2107e4aadfaa7fb477e744b53f4", + "tarball": "https://registry.npmjs.org/swagger-router/-/swagger-router-0.4.5.tgz" }, "maintainers": [ { @@ -72,9 +72,9 @@ } ], "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/swagger-router-0.4.3.tgz_1464189425544_0.7810743984300643" + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/swagger-router-0.4.5.tgz_1464600725200_0.6459623624105006" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/swagger-router/-/swagger-router-0.4.3.tgz" + "_resolved": "https://registry.npmjs.org/swagger-router/-/swagger-router-0.4.5.tgz" } diff --git a/node_modules/hyperswitch/node_modules/swagger-router/test/features/reqTemplate.js b/node_modules/hyperswitch/node_modules/swagger-router/test/features/reqTemplate.js index 47e0740..29fe3da 100644 --- a/node_modules/hyperswitch/node_modules/swagger-router/test/features/reqTemplate.js +++ b/node_modules/hyperswitch/node_modules/swagger-router/test/features/reqTemplate.js @@ -225,6 +225,17 @@ assert.deepEqual(template.expand({request:request}).uri, '/path/test/a'); }); + it('allows req.method to be templated', function() { + var template = new Template({ + uri: '/foo/bar/baz', + method: '{{request.method}}' + }); + var evalWithMethod = template.expand({ request: { method: 'post' } }); + assert.deepEqual(evalWithMethod.method, 'post'); + var evalWithoutMethod = template.expand({ request: {} }); + assert.deepEqual(evalWithoutMethod.method, 'get'); + }); + it('supports default values in req templates', function() { var template = new Template({ uri: '/path/{default(request.body.test, "foo/bar")}', diff --git a/node_modules/hyperswitch/node_modules/swagger-ui/package.json b/node_modules/hyperswitch/node_modules/swagger-ui/package.json index f951a55..1768f92 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": "e3d4285474ed1838fae4cab9473ba0ad56e5ef02", + "_shasum": "eb22c6a2f47ad12b7261576f1916f0fc27e43dc1", "_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 cb3fc0f..9385144 100644 --- a/node_modules/hyperswitch/package.json +++ b/node_modules/hyperswitch/package.json @@ -1,6 +1,6 @@ { "name": "hyperswitch", - "version": "0.5.0", + "version": "0.5.1", "description": "REST API creation framework", "main": "index.js", "scripts": { @@ -49,15 +49,19 @@ "nock": "^8.0.0", "service-runner": "^1.1.7" }, - "gitHead": "fc6f56d3c53162284337f823d0886b06be77665a", - "_id": "hyperswitch@0.5.0", - "_shasum": "9d43178d61c935ccbcbf75bd81a05733361f7711", + "gitHead": "d9dec225221d306a1fc3984d511b1b57804077c5", + "_id": "hyperswitch@0.5.1", + "_shasum": "a102d404f6c59073c98b270118502c37a1c2264c", "_from": "hyperswitch@>=0.5.0 <0.6.0", "_npmVersion": "2.14.12", "_nodeVersion": "4.3.0", "_npmUser": { "name": "doorman", "email": "marko.obro...@gmail.com" + }, + "dist": { + "shasum": "a102d404f6c59073c98b270118502c37a1c2264c", + "tarball": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.5.1.tgz" }, "maintainers": [ { @@ -77,14 +81,10 @@ "email": "petrpche...@gmail.com" } ], - "dist": { - "shasum": "9d43178d61c935ccbcbf75bd81a05733361f7711", - "tarball": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.5.0.tgz" - }, "_npmOperationalInternal": { "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/hyperswitch-0.5.0.tgz_1463471104190_0.23741273139603436" + "tmp": "tmp/hyperswitch-0.5.1.tgz_1464354653001_0.3558160688262433" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.5.0.tgz" + "_resolved": "https://registry.npmjs.org/hyperswitch/-/hyperswitch-0.5.1.tgz" } diff --git a/node_modules/json-stable-stringify/package.json b/node_modules/json-stable-stringify/package.json index 919d522..3c96aae 100644 --- a/node_modules/json-stable-stringify/package.json +++ b/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": "b2c696a5c800ec132a8d1ee76b7aa6bf81c81216", + "_shasum": "1747741839450866acd8e740f0ba45ba257c4200", "_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/restbase-mod-table-cassandra/node_modules/cassandra-driver/package.json b/node_modules/restbase-mod-table-cassandra/node_modules/cassandra-driver/package.json index e3205ec..81edc56 100644 --- a/node_modules/restbase-mod-table-cassandra/node_modules/cassandra-driver/package.json +++ b/node_modules/restbase-mod-table-cassandra/node_modules/cassandra-driver/package.json @@ -50,7 +50,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/datastax/nodejs-driver#readme", "_id": "cassandra-driver@3.0.1", - "_shasum": "3cc6267440213b635f5bc3edc9ecd1ef0b921da7", + "_shasum": "7bef41e9cfd25b47fc89ce4bb5d9b540a9978f85", "_from": "git+https://github.com/wikimedia/nodejs-driver.git#neo-async", "_resolved": "git+https://github.com/wikimedia/nodejs-driver.git#b2ac1407506c6c369341f0e1e2a567c799afef5e" } diff --git a/node_modules/restbase-mod-table-cassandra/node_modules/json-stable-stringify/package.json b/node_modules/restbase-mod-table-cassandra/node_modules/json-stable-stringify/package.json index e141fbc..86b6dfe 100644 --- a/node_modules/restbase-mod-table-cassandra/node_modules/json-stable-stringify/package.json +++ b/node_modules/restbase-mod-table-cassandra/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": "e26306d6f9a6aa33ad0276e8ca9282536bf16b0e", + "_shasum": "6ea5cafa1ccef36c8b33c3720f4145372083c650", "_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/restbase-mod-table-cassandra/node_modules/restbase-mod-table-spec/node_modules/routeswitch/node_modules/async/package.json b/node_modules/restbase-mod-table-cassandra/node_modules/restbase-mod-table-spec/node_modules/routeswitch/node_modules/async/package.json index 5d71bbf..04ad568 100644 --- a/node_modules/restbase-mod-table-cassandra/node_modules/restbase-mod-table-spec/node_modules/routeswitch/node_modules/async/package.json +++ b/node_modules/restbase-mod-table-cassandra/node_modules/restbase-mod-table-spec/node_modules/routeswitch/node_modules/async/package.json @@ -79,6 +79,5 @@ "tarball": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" } diff --git a/node_modules/service-runner/lib/docker.js b/node_modules/service-runner/lib/docker.js index 86323c6..aed4cba 100644 --- a/node_modules/service-runner/lib/docker.js +++ b/node_modules/service-runner/lib/docker.js @@ -177,6 +177,8 @@ contents += 'ENV HOME=/root/ LINK=g++\n'; } + contents += 'ENV IN_DOCKER=1\n'; + if (opts.deploy) { contents += 'CMD ' + npmCommand + ' install --production && ' + 'npm install heapdump && npm dedupe'; diff --git a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan.h b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan.h index 3fc68cb..aa2cacc 100644 --- a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan.h +++ b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan.h @@ -12,7 +12,7 @@ * * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md> * - * Version 2.3.3: current Node 6.0.0, Node 12: 0.12.13, Node 10: 0.10.44, iojs: 3.3.1 + * Version 2.3.4: current Node 6.2.0, Node 12: 0.12.14, Node 10: 0.10.45, iojs: 3.3.1 * * See https://github.com/nodejs/nan for the latest update to this file **********************************************************************************/ @@ -1986,6 +1986,16 @@ , New<v8::External>(reinterpret_cast<void *>(setter))); } +#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) + return obj->SetAccessor( + GetCurrentContext() + , name + , getter_ + , setter_ + , dataobj + , settings + , attribute).FromMaybe(false); +#else return obj->SetAccessor( name , getter_ @@ -1993,6 +2003,7 @@ , dataobj , settings , attribute); +#endif } inline void SetNamedPropertyHandler( diff --git a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_implementation_12_inl.h b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_implementation_12_inl.h index cb1e765..be50fc6 100644 --- a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_implementation_12_inl.h +++ b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_implementation_12_inl.h @@ -37,7 +37,12 @@ Factory<v8::BooleanObject>::return_t Factory<v8::BooleanObject>::New(bool value) { +#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) + return v8::BooleanObject::New( + v8::Isolate::GetCurrent(), value).As<v8::BooleanObject>(); +#else return v8::BooleanObject::New(value).As<v8::BooleanObject>(); +#endif } //=== Context ================================================================== diff --git a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_maybe_43_inl.h b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_maybe_43_inl.h index b4f9235..430bcfd 100644 --- a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_maybe_43_inl.h +++ b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_maybe_43_inl.h @@ -217,7 +217,21 @@ NAN_INLINE MaybeLocal<v8::Object> CloneElementAt( v8::Local<v8::Array> array , uint32_t index) { +#if (NODE_MODULE_VERSION >= NODE_6_0_MODULE_VERSION) + v8::EscapableHandleScope handle_scope(v8::Isolate::GetCurrent()); + v8::Local<v8::Context> context = GetCurrentContext(); + v8::Local<v8::Value> elem; + if (!array->Get(context, index).ToLocal(&elem)) { + return MaybeLocal<v8::Object>(); + } + v8::Local<v8::Object> obj; + if (!elem->ToObject(context).ToLocal(&obj)) { + return MaybeLocal<v8::Object>(); + } + return MaybeLocal<v8::Object>(handle_scope.Escape(obj->Clone())); +#else return array->CloneElementAt(GetCurrentContext(), index); +#endif } NAN_INLINE MaybeLocal<v8::Value> Call( diff --git a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_object_wrap.h b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_object_wrap.h index 632d519..f1cc156 100644 --- a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_object_wrap.h +++ b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_object_wrap.h @@ -39,8 +39,8 @@ } - inline v8::Local<v8::Object> handle() { - return New(persistent()); + inline v8::Local<v8::Object> handle() const { + return New(handle_); } diff --git a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_weak.h b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_weak.h index ed3f92e..25dde95 100644 --- a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_weak.h +++ b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/nan_weak.h @@ -90,8 +90,16 @@ static WeakCallbackInfo *unwrap(NAN_WEAK_CALLBACK_DATA_TYPE_ data); # endif #else +# if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \ + (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) + template<bool isFirstPass> + static void invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data); + template<bool isFirstPass> + static void invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data); +# else static void invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data); static void invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data); +# endif static WeakCallbackInfo *unwrapparameter( NAN_WEAK_PARAMETER_CALLBACK_DATA_TYPE_ data); static WeakCallbackInfo *unwraptwofield( @@ -104,12 +112,13 @@ (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3)) template<typename T> +template<bool isFirstPass> void WeakCallbackInfo<T>::invokeparameter(NAN_WEAK_PARAMETER_CALLBACK_SIG_ data) { WeakCallbackInfo<T> *cbinfo = unwrapparameter(data); - if (data.IsFirstPass()) { + if (isFirstPass) { cbinfo->persistent_.Reset(); - data.SetSecondPassCallback(invokeparameter); + data.SetSecondPassCallback(invokeparameter<false>); } else { cbinfo->callback_(*cbinfo); delete cbinfo; @@ -117,12 +126,13 @@ } template<typename T> +template<bool isFirstPass> void WeakCallbackInfo<T>::invoketwofield(NAN_WEAK_TWOFIELD_CALLBACK_SIG_ data) { WeakCallbackInfo<T> *cbinfo = unwraptwofield(data); - if (data.IsFirstPass()) { + if (isFirstPass) { cbinfo->persistent_.Reset(); - data.SetSecondPassCallback(invoketwofield); + data.SetSecondPassCallback(invoketwofield<false>); } else { cbinfo->callback_(*cbinfo); delete cbinfo; @@ -257,7 +267,7 @@ , parameter); v8::PersistentBase<T>::SetWeak( wcbd - , WeakCallbackInfo<P>::invokeparameter + , WeakCallbackInfo<P>::template invokeparameter<true> , type); } else { v8::Local<T>* self = reinterpret_cast<v8::Local<T>*>(this); @@ -276,7 +286,7 @@ (*self)->SetAlignedPointerInInternalField(0, wcbd); v8::PersistentBase<T>::SetWeak( static_cast<WeakCallbackInfo<P>*>(0) - , WeakCallbackInfo<P>::invoketwofield + , WeakCallbackInfo<P>::template invoketwofield<true> , type); } } diff --git a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/package.json b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/package.json index 3a7dca4..9bc5e4e 100644 --- a/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/package.json +++ b/node_modules/service-runner/node_modules/bunyan/node_modules/dtrace-provider/node_modules/nan/package.json @@ -1,6 +1,6 @@ { "name": "nan", - "version": "2.3.3", + "version": "2.3.4", "description": "Native Abstractions for Node.js: C++ header for Node 0.8 -> 6 compatibility", "main": "include_dirs.js", "repository": { @@ -62,9 +62,9 @@ "url": "https://github.com/nodejs/nan/issues" }, "homepage": "https://github.com/nodejs/nan#readme", - "_id": "nan@2.3.3", - "_shasum": "64dd83c9704a83648b6c72b401f6384bd94ef16f", - "_resolved": "https://registry.npmjs.org/nan/-/nan-2.3.3.tgz", + "_id": "nan@2.3.4", + "_shasum": "a7d5eb1cb727f8123a2dda6a883c006b30896718", + "_resolved": "https://registry.npmjs.org/nan/-/nan-2.3.4.tgz", "_from": "nan@>=2.0.8 <3.0.0", "_npmVersion": "3.3.6", "_nodeVersion": "5.0.0", @@ -73,8 +73,8 @@ "email": "bbyh...@abo.fi" }, "dist": { - "shasum": "64dd83c9704a83648b6c72b401f6384bd94ef16f", - "tarball": "https://registry.npmjs.org/nan/-/nan-2.3.3.tgz" + "shasum": "a7d5eb1cb727f8123a2dda6a883c006b30896718", + "tarball": "https://registry.npmjs.org/nan/-/nan-2.3.4.tgz" }, "maintainers": [ { @@ -88,7 +88,7 @@ ], "_npmOperationalInternal": { "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/nan-2.3.3.tgz_1462313618725_0.044748055282980204" + "tmp": "tmp/nan-2.3.4.tgz_1464646356651_0.48181944130919874" }, "directories": {} } 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 c7a34a4..f90f646 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": "a4270914aa7703d414c0c40e23e051ac07e1a346", + "_shasum": "c5dbc7a3d4647c74f0336dc059ea2290bc3df393", "_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/core-util-is/package.json b/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/core-util-is/package.json index 19fb859..f65d83f 100644 --- a/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/core-util-is/package.json +++ b/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/core-util-is/package.json @@ -55,6 +55,5 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" } diff --git a/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/string_decoder/package.json b/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/string_decoder/package.json index 8e8b77d..fdf923e 100644 --- a/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/string_decoder/package.json +++ b/node_modules/service-runner/node_modules/limitation/node_modules/readable-stream/node_modules/string_decoder/package.json @@ -49,6 +49,5 @@ "tarball": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" } diff --git a/node_modules/service-runner/package.json b/node_modules/service-runner/package.json index 49290e0..2f5f47c 100644 --- a/node_modules/service-runner/package.json +++ b/node_modules/service-runner/package.json @@ -1,6 +1,6 @@ { "name": "service-runner", - "version": "1.3.0", + "version": "1.3.1", "description": "Generic nodejs service supervisor / cluster runner", "main": "service-runner.js", "bin": { @@ -24,7 +24,7 @@ "name": "Wikimedia service team", "email": "servi...@wikimedia.org" }, - "license": "Apache2", + "license": "Apache-2.0", "bugs": { "url": "https://github.com/wikimedia/service-runner/issues" }, @@ -48,9 +48,9 @@ "mocha-jscs": "^5.0.0", "bunyan-prettystream": "git+https://github.com/hadfieldn/node-bunyan-prettystream.git#master" }, - "gitHead": "423de826a508bf2efacb953b13406a932ae39cb6", - "_id": "service-runner@1.3.0", - "_shasum": "d9c25bf8c7509f5e6909ca24c54719393c5704e3", + "gitHead": "a2acd051c345f54172d63e74ad3ee578f9f44e67", + "_id": "service-runner@1.3.1", + "_shasum": "715aaad93cb2b24f14c7d142ac5af0f55f454a91", "_from": "service-runner@>=1.2.1 <2.0.0", "_npmVersion": "2.14.12", "_nodeVersion": "4.3.0", @@ -59,8 +59,8 @@ "email": "marko.obro...@gmail.com" }, "dist": { - "shasum": "d9c25bf8c7509f5e6909ca24c54719393c5704e3", - "tarball": "https://registry.npmjs.org/service-runner/-/service-runner-1.3.0.tgz" + "shasum": "715aaad93cb2b24f14c7d142ac5af0f55f454a91", + "tarball": "https://registry.npmjs.org/service-runner/-/service-runner-1.3.1.tgz" }, "maintainers": [ { @@ -77,9 +77,9 @@ } ], "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/service-runner-1.3.0.tgz_1463751197858_0.8850753081496805" + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/service-runner-1.3.1.tgz_1464682120575_0.6779478834941983" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/service-runner/-/service-runner-1.3.0.tgz" + "_resolved": "https://registry.npmjs.org/service-runner/-/service-runner-1.3.1.tgz" } diff --git a/restbase b/restbase index 911eb82..94aa724 160000 --- a/restbase +++ b/restbase -Subproject commit 911eb822617cb58177a9c0011bcc870ac2b2e6e6 +Subproject commit 94aa724826e000ba15dda0214bcbf0d79b65595c -- To view, visit https://gerrit.wikimedia.org/r/291872 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iecdb9a5fcf52cc52ba036d3bf1d90641a278ed21 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/services/restbase/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