From aac2a4d5ad5f1a1494e1082a6da2a70e358643c0 Mon Sep 17 00:00:00 2001 From: Paul Melnikow <github@paulmelnikow.com> Date: Mon, 21 Jan 2019 22:14:22 -0500 Subject: [PATCH] Move legacy request helpers (#2829) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In #2698 we decided to put legacy helper functions in `core/legacy`. I think that’s a fine idea, though if we’re going to have a bunch of badge helper functions in there, it seems like it is probably better to keep these two important but esoteric helper functions with the core code to which they are most coupled. So I added `legacy-` to the name, and put them in `core/base-service`. --- CONTRIBUTING.md | 1 - .../base-service/legacy-request-handler.js | 16 ++++++++-------- .../base-service/legacy-request-handler.spec.js | 6 +++--- .../base-service/legacy-result-sender.js | 4 ++-- core/server/server.js | 4 ++-- doc/production-hosting.md | 2 +- now.json | 1 + services/base-non-memory-caching.js | 2 +- services/base-static.js | 2 +- 9 files changed, 19 insertions(+), 19 deletions(-) rename lib/request-handler.js => core/base-service/legacy-request-handler.js (95%) rename lib/request-handler.spec.js => core/base-service/legacy-request-handler.spec.js (98%) rename lib/result-sender.js => core/base-service/legacy-result-sender.js (93%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1c151ae324..d9f9488e36 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -89,7 +89,6 @@ There are three places to get help: used by developers or which are widely used by developers - The left-hand side of a badge should not advertise. It should be a lowercase _noun_ succinctly describing the meaning of the right-hand side. -- Query parameters must be _declared by the service_. See `request-handler.js`. - Except for badges using the `social` style, logos should be _turned off by default_. diff --git a/lib/request-handler.js b/core/base-service/legacy-request-handler.js similarity index 95% rename from lib/request-handler.js rename to core/base-service/legacy-request-handler.js index c49c8c6366..22cd4a2668 100644 --- a/lib/request-handler.js +++ b/core/base-service/legacy-request-handler.js @@ -4,18 +4,18 @@ const domain = require('domain') const request = require('request') const queryString = require('query-string') -const log = require('../core/server/log') -const analytics = require('../core/server/analytics') -const LruCache = require('../gh-badges/lib/lru-cache') -const makeBadge = require('../gh-badges/lib/make-badge') +const log = require('../server/log') +const analytics = require('../server/analytics') +const LruCache = require('../../gh-badges/lib/lru-cache') +const makeBadge = require('../../gh-badges/lib/make-badge') const { Inaccessible, InvalidResponse, ShieldsRuntimeError, -} = require('../services/errors') -const { setCacheHeaders } = require('../services/cache-headers') -const { makeBadgeData: getBadgeData } = require('./badge-data') -const { makeSend } = require('./result-sender') +} = require('../../services') +const { setCacheHeaders } = require('../../services/cache-headers') +const { makeBadgeData: getBadgeData } = require('../../lib/badge-data') +const { makeSend } = require('./legacy-result-sender') // We avoid calling the vendor's server for computation of the information in a // number of badges. diff --git a/lib/request-handler.spec.js b/core/base-service/legacy-request-handler.spec.js similarity index 98% rename from lib/request-handler.spec.js rename to core/base-service/legacy-request-handler.spec.js index 3ca26550f2..f501a9eed5 100644 --- a/lib/request-handler.spec.js +++ b/core/base-service/legacy-request-handler.spec.js @@ -5,13 +5,13 @@ const fetch = require('node-fetch') const nock = require('nock') const portfinder = require('portfinder') const Camp = require('camp') -const analytics = require('../core/server/analytics') -const { makeBadgeData: getBadgeData } = require('./badge-data') +const analytics = require('../server/analytics') +const { makeBadgeData: getBadgeData } = require('../../lib/badge-data') const { handleRequest, clearRequestCache, _requestCache, -} = require('./request-handler') +} = require('./legacy-request-handler') async function performTwoRequests(baseUrl, first, second) { expect((await fetch(`${baseUrl}${first}`)).ok).to.be.true diff --git a/lib/result-sender.js b/core/base-service/legacy-result-sender.js similarity index 93% rename from lib/result-sender.js rename to core/base-service/legacy-result-sender.js index 9730cb0230..75510f1d2c 100644 --- a/lib/result-sender.js +++ b/core/base-service/legacy-result-sender.js @@ -1,8 +1,8 @@ 'use strict' const stream = require('stream') -const log = require('../core/server/log') -const svg2img = require('../gh-badges/lib/svg-to-img') +const svg2img = require('../../gh-badges/lib/svg-to-img') +const log = require('../server/log') function streamFromString(str) { const newStream = new stream.Readable() diff --git a/core/server/server.js b/core/server/server.js index c78e0e21fc..f4fe2869fe 100644 --- a/core/server/server.js +++ b/core/server/server.js @@ -10,11 +10,11 @@ const GithubConstellation = require('../../services/github/github-constellation' const { loadServiceClasses } = require('../../services') const { makeBadgeData } = require('../../lib/badge-data') const suggest = require('../../lib/suggest') -const { makeSend } = require('../../lib/result-sender') +const { makeSend } = require('../base-service/legacy-result-sender') const { handleRequest, clearRequestCache, -} = require('../../lib/request-handler') +} = require('../base-service/legacy-request-handler') const { clearRegularUpdateCache } = require('../../lib/regular-update') const { staticBadgeUrl } = require('../badge-urls/make-badge-url') const analytics = require('./analytics') diff --git a/doc/production-hosting.md b/doc/production-hosting.md index 5a2d1d486f..d7d3246c29 100644 --- a/doc/production-hosting.md +++ b/doc/production-hosting.md @@ -72,7 +72,7 @@ Shields has mercifully little persistent state: - The [raster cache][] [github auth admin endpoint]: https://github.com/badges/shields/blob/master/services/github/auth/admin.js -[request cache]: https://github.com/badges/shields/blob/master/lib/request-handler.js#L29-L30 +[request cache]: https://github.com/badges/shields/blob/master/core/base-service/legacy-request-handler.js#L29-L30 [regular-update cache]: https://github.com/badges/shields/blob/master/lib/regular-update.js [raster cache]: https://github.com/badges/shields/blob/master/gh-badges/lib/svg-to-img.js#L9-L10 [oauth transfer]: https://developer.github.com/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app/ diff --git a/now.json b/now.json index 343e9ca034..9043b1cb11 100644 --- a/now.json +++ b/now.json @@ -9,6 +9,7 @@ "frontend/", "gh-badges/", "lib/", + "core/", "logo/", "pages/", "public/", diff --git a/services/base-non-memory-caching.js b/services/base-non-memory-caching.js index 1f9e721cf2..953d1a3262 100644 --- a/services/base-non-memory-caching.js +++ b/services/base-non-memory-caching.js @@ -1,7 +1,7 @@ 'use strict' const makeBadge = require('../gh-badges/lib/make-badge') -const { makeSend } = require('../lib/result-sender') +const { makeSend } = require('../core/base-service/legacy-result-sender') const BaseService = require('./base') const { setCacheHeaders } = require('./cache-headers') diff --git a/services/base-static.js b/services/base-static.js index 638d420bdd..94f0b69955 100644 --- a/services/base-static.js +++ b/services/base-static.js @@ -1,7 +1,7 @@ 'use strict' const makeBadge = require('../gh-badges/lib/make-badge') -const { makeSend } = require('../lib/result-sender') +const { makeSend } = require('../core/base-service/legacy-result-sender') const analytics = require('../core/server/analytics') const BaseService = require('./base') const { -- GitLab