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

Reply via email to