From 719fa93aad05f973945b174fc1c74e6638dc51b5 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Wed, 6 Jun 2018 17:03:48 -0700 Subject: [PATCH 01/22] core: add cache interface --- packages/apollo-server-core/src/ApolloServer.ts | 8 ++++++-- packages/apollo-server-core/src/caching.ts | 12 ++++++++++++ packages/apollo-server-core/src/graphqlOptions.ts | 2 ++ packages/apollo-server-core/src/types.ts | 4 +++- 4 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 packages/apollo-server-core/src/caching.ts diff --git a/packages/apollo-server-core/src/ApolloServer.ts b/packages/apollo-server-core/src/ApolloServer.ts index f235365d031..12bd6267e83 100644 --- a/packages/apollo-server-core/src/ApolloServer.ts +++ b/packages/apollo-server-core/src/ApolloServer.ts @@ -166,11 +166,12 @@ const typeDefs = gql\`${startSchema}\` } } - public use({ getHttp, path }: RegistrationOptions) { + public use({ getHttp, path, cache }: RegistrationOptions) { // we need to delay when we actually get the http server // until we move into the listen function this.getHttp = getHttp; this.graphqlPath = path; + this.requestOptions.cache = cache || this.requestOptions.cache; } public enhanceSchema( @@ -380,7 +381,10 @@ const typeDefs = gql\`${startSchema}\` try { context = typeof this.context === 'function' - ? await this.context({ req: request }) + ? await this.context({ + req: request, + cache: this.requestOptions.cache, + }) : context; } catch (error) { //Defer context error resolution to inside of runQuery diff --git a/packages/apollo-server-core/src/caching.ts b/packages/apollo-server-core/src/caching.ts new file mode 100644 index 00000000000..a7f096645b0 --- /dev/null +++ b/packages/apollo-server-core/src/caching.ts @@ -0,0 +1,12 @@ +export interface ApolloCache { + set( + key: string, + data: string, + options?: { + ttl?: number; + tags?: string[]; + }, + ): Promise; + get(key: string): Promise; + invalidate(tags: string[]): Promise; +} diff --git a/packages/apollo-server-core/src/graphqlOptions.ts b/packages/apollo-server-core/src/graphqlOptions.ts index def59b4b4f2..d55c0b4074c 100644 --- a/packages/apollo-server-core/src/graphqlOptions.ts +++ b/packages/apollo-server-core/src/graphqlOptions.ts @@ -4,6 +4,7 @@ import { GraphQLFieldResolver, } from 'graphql'; import { LogFunction } from './logging'; +import { ApolloCache } from './caching'; import { GraphQLExtension } from 'graphql-extensions'; /* @@ -41,6 +42,7 @@ export interface GraphQLServerOptions< // cacheControl?: boolean | CacheControlExtensionOptions; cacheControl?: boolean | any; extensions?: Array<() => GraphQLExtension>; + cache?: ApolloCache; } export default GraphQLServerOptions; diff --git a/packages/apollo-server-core/src/types.ts b/packages/apollo-server-core/src/types.ts index 0dcb57db1e9..1c22fe2575a 100644 --- a/packages/apollo-server-core/src/types.ts +++ b/packages/apollo-server-core/src/types.ts @@ -7,6 +7,7 @@ import { GraphQLExtension } from 'graphql-extensions'; import { EngineReportingOptions } from 'apollo-engine-reporting'; import { GraphQLServerOptions as GraphQLOptions } from './graphqlOptions'; +import { ApolloCache } from './caching'; export type Context = T; export type ContextFunction = ( @@ -35,9 +36,9 @@ export interface Config | 'validationRules' | 'formatResponse' | 'fieldResolver' - | 'debug' | 'cacheControl' | 'tracing' + | 'cache' > { typeDefs?: DocumentNode | [DocumentNode]; resolvers?: IResolvers; @@ -82,6 +83,7 @@ export interface MiddlewareOptions { export interface RegistrationOptions { path: string; getHttp: () => HttpServer; + cache?: ApolloCache; } export interface ServerInfo { From bba1902e86c4f07fe283c44bed0f27cf9e3fb4d9 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Wed, 6 Jun 2018 17:53:57 -0700 Subject: [PATCH 02/22] core: initial implementation of APQ --- packages/apollo-server-core/package.json | 4 ++ packages/apollo-server-core/src/errors.ts | 13 +++++ .../apollo-server-core/src/runHttpQuery.ts | 53 +++++++++++-------- 3 files changed, 48 insertions(+), 22 deletions(-) diff --git a/packages/apollo-server-core/package.json b/packages/apollo-server-core/package.json index ec058345520..a1fb33acf43 100644 --- a/packages/apollo-server-core/package.json +++ b/packages/apollo-server-core/package.json @@ -32,6 +32,9 @@ "@types/ws": "^4.0.2", "apollo-engine": "^1.1.1", "apollo-fetch": "^0.7.0", + "apollo-link": "^1.2.2", + "apollo-link-http": "^1.5.4", + "apollo-link-persisted-queries": "^0.2.0", "fibers": "1.0.15", "graphql-tag": "^2.9.2", "meteor-promise": "0.8.6", @@ -52,6 +55,7 @@ "graphql-extensions": "0.1.0-beta.12", "graphql-subscriptions": "^0.5.8", "graphql-tools": "^3.0.2", + "hash.js": "^1.1.3", "node-fetch": "^2.1.2", "subscriptions-transport-ws": "^0.9.9", "ws": "^5.1.1" diff --git a/packages/apollo-server-core/src/errors.ts b/packages/apollo-server-core/src/errors.ts index 46801b5c9f2..5dc527dbab0 100644 --- a/packages/apollo-server-core/src/errors.ts +++ b/packages/apollo-server-core/src/errors.ts @@ -199,6 +199,19 @@ export class ForbiddenError extends ApolloError { } } +export class PersistedQueryNotFoundError extends ApolloError { + constructor() { + super('PersistedQueryNotFound', 'PERSISTED_QUERY_NOT_FOUND'); + + // Set the prototype explicitly. + // https://stackoverflow.com/a/41102306 + Object.setPrototypeOf(this, PersistedQueryNotFoundError.prototype); + Object.defineProperty(this, 'name', { + value: 'PersistedQueryNotFoundError', + }); + } +} + export function formatApolloErrors( errors: Array, options?: { diff --git a/packages/apollo-server-core/src/runHttpQuery.ts b/packages/apollo-server-core/src/runHttpQuery.ts index 6278735436c..c180c3704b9 100644 --- a/packages/apollo-server-core/src/runHttpQuery.ts +++ b/packages/apollo-server-core/src/runHttpQuery.ts @@ -1,10 +1,12 @@ import { ExecutionResult } from 'graphql'; +import sha256 from 'hash.js/lib/hash/sha/256'; + import { runQuery, QueryOptions } from './runQuery'; import { default as GraphQLOptions, resolveGraphqlOptions, } from './graphqlOptions'; -import { formatApolloErrors } from './errors'; +import { formatApolloErrors, PersistedQueryNotFoundError } from './errors'; export interface HttpQueryRequest { method: string; @@ -118,7 +120,7 @@ export async function runHttpQuery( const requests = requestPayload.map(async requestParams => { try { - const queryString: string | undefined = requestParams.query; + let queryString: string | undefined = requestParams.query; let extensions = requestParams.extensions; if (isGetRequest && extensions) { @@ -137,26 +139,33 @@ export async function runHttpQuery( extensions && extensions.persistedQuery ) { - // It looks like we've received an Apollo Persisted Query. Apollo Server - // does not support persisted queries out of the box, so we should fail - // fast with a clear error saying that we don't support APQs. (A future - // version of Apollo Server may support APQs directly.) - throw new HttpQueryError( - // Return 200 to simplify processing: we want this to be intepreted by - // the client as data worth interpreting, not an error. - 200, - JSON.stringify({ - errors: [ - { - message: 'PersistedQueryNotSupported', - }, - ], - }), - true, - { - 'Content-Type': 'application/json', - }, - ); + // It looks like we've received an Apollo Persisted Query. + const sha = extensions.persistedQuery.sha256Hash; + + queryString = await optionsObject.cache.get(sha); + if (!queryString) { + throw new HttpQueryError( + // Return 200 to simplify processing: we want this to be intepreted by + // the client as data worth interpreting, not an error. + 200, + JSON.stringify({ + errors: [new PersistedQueryNotFoundError()], + }), + true, + { + 'Content-Type': 'application/json', + }, + ); + } + } else if (extensions && extensions.persistedQuery) { + const sha = extensions.persistedQuery.sha256Hash; + const calculatedSha = sha256() + .update(queryString) + .digest('hex'); + if (sha !== calculatedSha) { + throw new HttpQueryError(400, `provided sha does not match query`); + } + await optionsObject.cache.set(sha, queryString); } //We ensure that there is a queryString or parsedQuery after formatParams From fc788d0629f156adebc11fb00d31cef80d6ad74e Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Wed, 6 Jun 2018 17:58:59 -0700 Subject: [PATCH 03/22] core: initial tests for persisted queries --- packages/apollo-server-core/package.json | 1 + .../src/ApolloServer.test.ts | 99 +++++++++++++++++++ 2 files changed, 100 insertions(+) diff --git a/packages/apollo-server-core/package.json b/packages/apollo-server-core/package.json index a1fb33acf43..616d96c79a8 100644 --- a/packages/apollo-server-core/package.json +++ b/packages/apollo-server-core/package.json @@ -37,6 +37,7 @@ "apollo-link-persisted-queries": "^0.2.0", "fibers": "1.0.15", "graphql-tag": "^2.9.2", + "js-sha256": "^0.9.0", "meteor-promise": "0.8.6", "mock-req": "^0.2.0", "typescript": "2.8.3" diff --git a/packages/apollo-server-core/src/ApolloServer.test.ts b/packages/apollo-server-core/src/ApolloServer.test.ts index 2e8c3a93347..b3eead3eef8 100644 --- a/packages/apollo-server-core/src/ApolloServer.test.ts +++ b/packages/apollo-server-core/src/ApolloServer.test.ts @@ -4,6 +4,8 @@ import { stub } from 'sinon'; import * as http from 'http'; import * as net from 'net'; import 'mocha'; +import * as fetch from 'node-fetch'; +import { sha256 } from 'js-sha256'; import { GraphQLSchema, @@ -21,6 +23,13 @@ Object.assign(global, { WebSocket: WebSocket, }); +import { execute } from 'apollo-link'; +import { createHttpLink } from 'apollo-link-http'; +import { + createPersistedQueryLink as createPersistedQuery, + VERSION, +} from 'apollo-link-persisted-queries'; + import { createApolloFetch } from 'apollo-fetch'; import { ApolloServerBase } from './ApolloServer'; import { AuthenticationError } from './errors'; @@ -868,5 +877,95 @@ describe('ApolloServerBase', () => { }) .catch(done); }); + + describe('Persisted Queries', () => { + const server = new ApolloServerBase({ + schema, + introspection: false, + }); + const query = gql` + ${TEST_STRING_QUERY} + `; + const hash = sha256 + .create() + .update(TEST_STRING_QUERY) + .hex(); + let uri: string; + + beforeEach(async () => { + const httpServer = createHttpServer(server); + + server.use({ + getHttp: () => httpServer, + path: '/graphql', + cache: new Map() as any, + }); + uri = (await server.listen()).url; + }); + + afterEach(async () => { + await server.stop(); + }); + + describe('happy path', () => { + it('returns PersistedQueryNotFound on the first try', async () => { + const apolloFetch = createApolloFetch({ uri }); + + const result = await apolloFetch({ + extensions: { + persistedQuery: { + version: VERSION, + sha256Hash: hash, + }, + }, + } as any); + + expect(result.data).not.to.exist; + expect(result.errors.length).to.equal(1); + expect(result.errors[0].message).to.equal('PersistedQueryNotFound'); + expect(result.errors[0].extensions.code).to.equal( + 'PERSISTED_QUERY_NOT_FOUND', + ); + }); + it('returns result on the second try', async () => { + const apolloFetch = createApolloFetch({ uri }); + + await apolloFetch({ + extensions: { + persistedQuery: { + version: VERSION, + sha256Hash: hash, + }, + }, + } as any); + const result = await apolloFetch({ + extensions: { + persistedQuery: { + version: VERSION, + sha256Hash: hash, + }, + }, + query: TEST_STRING_QUERY, + } as any); + + expect(result.data).to.deep.equal({ testString: 'test string' }); + expect(result.errors).not.to.exist; + }); + + it('returns correct result for persisted query link', done => { + const variables = { id: 1 }; + const link = createPersistedQuery().concat( + createHttpLink({ uri, fetch } as any), + ); + + execute(link, { query, variables } as any).subscribe(result => { + expect(result.data).to.deep.equal({ testString: 'test string' }); + done(); + }, done); + }); + }); + + describe('error path', () => {}); + }); }); }); From 53e25b68e2f256d0b13d9bd93dd749b4b9375fb7 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Wed, 6 Jun 2018 23:26:50 -0700 Subject: [PATCH 04/22] core: add explicit reference to ApolloCache for tsc --- packages/apollo-server-core/src/ApolloServer.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/apollo-server-core/src/ApolloServer.ts b/packages/apollo-server-core/src/ApolloServer.ts index 12bd6267e83..50ffb5dea49 100644 --- a/packages/apollo-server-core/src/ApolloServer.ts +++ b/packages/apollo-server-core/src/ApolloServer.ts @@ -41,6 +41,8 @@ import { SubscriptionServerOptions, } from './types'; +import { ApolloCache } from './caching'; + const NoIntrospection = (context: ValidationContext) => ({ Field(node: FieldDefinitionNode) { if (node.name.value === '__schema' || node.name.value === '__type') { @@ -383,7 +385,7 @@ const typeDefs = gql\`${startSchema}\` typeof this.context === 'function' ? await this.context({ req: request, - cache: this.requestOptions.cache, + cache: this.requestOptions.cache as ApolloCache, }) : context; } catch (error) { From 2268c7b913c82dc5f4ddb06daca6386278913c49 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Wed, 6 Jun 2018 23:28:08 -0700 Subject: [PATCH 05/22] core: format persisted query Error and correct sha import --- packages/apollo-server-core/src/runHttpQuery.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/apollo-server-core/src/runHttpQuery.ts b/packages/apollo-server-core/src/runHttpQuery.ts index c180c3704b9..65b1e404cd6 100644 --- a/packages/apollo-server-core/src/runHttpQuery.ts +++ b/packages/apollo-server-core/src/runHttpQuery.ts @@ -1,5 +1,5 @@ import { ExecutionResult } from 'graphql'; -import sha256 from 'hash.js/lib/hash/sha/256'; +import * as sha256 from 'hash.js/lib/hash/sha/256'; import { runQuery, QueryOptions } from './runQuery'; import { @@ -149,7 +149,11 @@ export async function runHttpQuery( // the client as data worth interpreting, not an error. 200, JSON.stringify({ - errors: [new PersistedQueryNotFoundError()], + errors: formatApolloErrors([new PersistedQueryNotFoundError()], { + formatter: optionsObject.formatError, + debug, + logFunction: optionsObject.logFunction, + }), }), true, { From 681a99aee8d37104ed8a1e4dd1c5bc6a150142f2 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Wed, 6 Jun 2018 23:28:40 -0700 Subject: [PATCH 06/22] core: tests for persisted queries and remove old persistedQuery unsupported --- .../src/ApolloServer.test.ts | 133 +++++++++++------- .../src/index.ts | 42 ------ 2 files changed, 84 insertions(+), 91 deletions(-) diff --git a/packages/apollo-server-core/src/ApolloServer.test.ts b/packages/apollo-server-core/src/ApolloServer.test.ts index b3eead3eef8..26673c9b55d 100644 --- a/packages/apollo-server-core/src/ApolloServer.test.ts +++ b/packages/apollo-server-core/src/ApolloServer.test.ts @@ -97,6 +97,13 @@ function createHttpServer(server) { res.end(); }) .catch(error => { + if (error.headers) { + Object.keys(error.headers).forEach(header => { + res.setHeader(header, error.headers[header]); + }); + } + + res.statusCode = error.statusCode; res.write(error.message); res.end(); }); @@ -879,10 +886,7 @@ describe('ApolloServerBase', () => { }); describe('Persisted Queries', () => { - const server = new ApolloServerBase({ - schema, - introspection: false, - }); + let server; const query = gql` ${TEST_STRING_QUERY} `; @@ -890,9 +894,20 @@ describe('ApolloServerBase', () => { .create() .update(TEST_STRING_QUERY) .hex(); + const extensions = { + persistedQuery: { + version: VERSION, + sha256Hash: hash, + }, + }; let uri: string; beforeEach(async () => { + server = new ApolloServerBase({ + schema, + introspection: false, + }); + const httpServer = createHttpServer(server); server.use({ @@ -907,65 +922,85 @@ describe('ApolloServerBase', () => { await server.stop(); }); - describe('happy path', () => { - it('returns PersistedQueryNotFound on the first try', async () => { - const apolloFetch = createApolloFetch({ uri }); + it('returns PersistedQueryNotFound on the first try', async () => { + const apolloFetch = createApolloFetch({ uri }); - const result = await apolloFetch({ - extensions: { - persistedQuery: { - version: VERSION, - sha256Hash: hash, - }, - }, - } as any); + const result = await apolloFetch({ + extensions, + } as any); - expect(result.data).not.to.exist; - expect(result.errors.length).to.equal(1); - expect(result.errors[0].message).to.equal('PersistedQueryNotFound'); - expect(result.errors[0].extensions.code).to.equal( - 'PERSISTED_QUERY_NOT_FOUND', - ); - }); - it('returns result on the second try', async () => { - const apolloFetch = createApolloFetch({ uri }); + expect(result.data).not.to.exist; + expect(result.errors.length).to.equal(1); + expect(result.errors[0].message).to.equal('PersistedQueryNotFound'); + expect(result.errors[0].extensions.code).to.equal( + 'PERSISTED_QUERY_NOT_FOUND', + ); + }); + it('returns result on the second try', async () => { + const apolloFetch = createApolloFetch({ uri }); + + await apolloFetch({ + extensions, + } as any); + const result = await apolloFetch({ + extensions, + query: TEST_STRING_QUERY, + } as any); + + expect(result.data).to.deep.equal({ testString: 'test string' }); + expect(result.errors).not.to.exist; + }); + + it('returns result on the persisted query', async () => { + const apolloFetch = createApolloFetch({ uri }); + + await apolloFetch({ + extensions, + } as any); + await apolloFetch({ + extensions, + query: TEST_STRING_QUERY, + } as any); + const result = await apolloFetch({ + extensions, + } as any); + + expect(result.data).to.deep.equal({ testString: 'test string' }); + expect(result.errors).not.to.exist; + }); + it('returns error when hash does not match', async () => { + const apolloFetch = createApolloFetch({ uri }); + + try { await apolloFetch({ extensions: { persistedQuery: { version: VERSION, - sha256Hash: hash, - }, - }, - } as any); - const result = await apolloFetch({ - extensions: { - persistedQuery: { - version: VERSION, - sha256Hash: hash, + sha: + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', }, }, query: TEST_STRING_QUERY, } as any); + expect.fail(); + } catch (e) { + expect(e.response.status).to.equal(400); + expect(e.response.raw).to.match(/does not match query/); + } + }); - expect(result.data).to.deep.equal({ testString: 'test string' }); - expect(result.errors).not.to.exist; - }); - - it('returns correct result for persisted query link', done => { - const variables = { id: 1 }; - const link = createPersistedQuery().concat( - createHttpLink({ uri, fetch } as any), - ); + it('returns correct result for persisted query link', done => { + const variables = { id: 1 }; + const link = createPersistedQuery().concat( + createHttpLink({ uri, fetch } as any), + ); - execute(link, { query, variables } as any).subscribe(result => { - expect(result.data).to.deep.equal({ testString: 'test string' }); - done(); - }, done); - }); + execute(link, { query, variables } as any).subscribe(result => { + expect(result.data).to.deep.equal({ testString: 'test string' }); + done(); + }, done); }); - - describe('error path', () => {}); }); }); }); diff --git a/packages/apollo-server-integration-testsuite/src/index.ts b/packages/apollo-server-integration-testsuite/src/index.ts index a1dfbff6f5c..b838a951c53 100644 --- a/packages/apollo-server-integration-testsuite/src/index.ts +++ b/packages/apollo-server-integration-testsuite/src/index.ts @@ -404,48 +404,6 @@ export default (createApp: CreateAppFunc, destroyApp?: DestroyAppFunc) => { }); }); - it('returns PersistedQueryNotSupported to a GET request', async () => { - app = await createApp(); - const req = request(app) - .get('/graphql') - .query({ - extensions: JSON.stringify({ - persistedQuery: { - version: 1, - sha256Hash: - 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', - }, - }), - }); - return req.then(res => { - expect(res.status).to.equal(200); - expect(res.body).to.deep.equal({ - errors: [{ message: 'PersistedQueryNotSupported' }], - }); - }); - }); - - it('returns PersistedQueryNotSupported to a POST request', async () => { - app = await createApp(); - const req = request(app) - .post('/graphql') - .send({ - extensions: { - persistedQuery: { - version: 1, - sha256Hash: - 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', - }, - }, - }); - return req.then(res => { - expect(res.status).to.equal(200); - expect(res.body).to.deep.equal({ - errors: [{ message: 'PersistedQueryNotSupported' }], - }); - }); - }); - it('can handle a request with variables', async () => { app = await createApp(); const expected = { From 6e463c7031b9ffb6010c51830a37d5e3232795ac Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Thu, 7 Jun 2018 10:01:25 -0700 Subject: [PATCH 07/22] core: change ApolloCache to KeyValueCache --- packages/apollo-server-core/src/ApolloServer.ts | 4 ++-- packages/apollo-server-core/src/caching.ts | 2 +- packages/apollo-server-core/src/graphqlOptions.ts | 4 ++-- packages/apollo-server-core/src/types.ts | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/apollo-server-core/src/ApolloServer.ts b/packages/apollo-server-core/src/ApolloServer.ts index 50ffb5dea49..4a58b6f6486 100644 --- a/packages/apollo-server-core/src/ApolloServer.ts +++ b/packages/apollo-server-core/src/ApolloServer.ts @@ -41,7 +41,7 @@ import { SubscriptionServerOptions, } from './types'; -import { ApolloCache } from './caching'; +import { KeyValueCache } from './caching'; const NoIntrospection = (context: ValidationContext) => ({ Field(node: FieldDefinitionNode) { @@ -385,7 +385,7 @@ const typeDefs = gql\`${startSchema}\` typeof this.context === 'function' ? await this.context({ req: request, - cache: this.requestOptions.cache as ApolloCache, + cache: this.requestOptions.cache as KeyValueCache, }) : context; } catch (error) { diff --git a/packages/apollo-server-core/src/caching.ts b/packages/apollo-server-core/src/caching.ts index a7f096645b0..cc162e5425e 100644 --- a/packages/apollo-server-core/src/caching.ts +++ b/packages/apollo-server-core/src/caching.ts @@ -1,4 +1,4 @@ -export interface ApolloCache { +export interface KeyValueCache { set( key: string, data: string, diff --git a/packages/apollo-server-core/src/graphqlOptions.ts b/packages/apollo-server-core/src/graphqlOptions.ts index d55c0b4074c..dc55e0b02fd 100644 --- a/packages/apollo-server-core/src/graphqlOptions.ts +++ b/packages/apollo-server-core/src/graphqlOptions.ts @@ -4,7 +4,7 @@ import { GraphQLFieldResolver, } from 'graphql'; import { LogFunction } from './logging'; -import { ApolloCache } from './caching'; +import { KeyValueCache } from './caching'; import { GraphQLExtension } from 'graphql-extensions'; /* @@ -42,7 +42,7 @@ export interface GraphQLServerOptions< // cacheControl?: boolean | CacheControlExtensionOptions; cacheControl?: boolean | any; extensions?: Array<() => GraphQLExtension>; - cache?: ApolloCache; + cache?: KeyValueCache; } export default GraphQLServerOptions; diff --git a/packages/apollo-server-core/src/types.ts b/packages/apollo-server-core/src/types.ts index 1c22fe2575a..0a587a23a04 100644 --- a/packages/apollo-server-core/src/types.ts +++ b/packages/apollo-server-core/src/types.ts @@ -7,7 +7,7 @@ import { GraphQLExtension } from 'graphql-extensions'; import { EngineReportingOptions } from 'apollo-engine-reporting'; import { GraphQLServerOptions as GraphQLOptions } from './graphqlOptions'; -import { ApolloCache } from './caching'; +import { KeyValueCache } from './caching'; export type Context = T; export type ContextFunction = ( @@ -83,7 +83,7 @@ export interface MiddlewareOptions { export interface RegistrationOptions { path: string; getHttp: () => HttpServer; - cache?: ApolloCache; + cache?: KeyValueCache; } export interface ServerInfo { From 45ca6d7b959b66507a72900bc73c7a7fc09938ca Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Thu, 7 Jun 2018 21:12:46 -0700 Subject: [PATCH 08/22] docs: add documentation for automatic persisted queries --- docs/_config.yml | 1 + docs/sketch/APQs.sketch | Bin 0 -> 280465 bytes docs/source/features/apq.md | 86 +++++++++++++++++++ docs/source/img/persistedQueries.newPath.png | Bin 0 -> 81022 bytes docs/source/img/persistedQueries.optPath.png | Bin 0 -> 59489 bytes 5 files changed, 87 insertions(+) create mode 100644 docs/sketch/APQs.sketch create mode 100644 docs/source/features/apq.md create mode 100644 docs/source/img/persistedQueries.newPath.png create mode 100644 docs/source/img/persistedQueries.optPath.png diff --git a/docs/_config.yml b/docs/_config.yml index 9955b2e1ecd..398c9384ce9 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -16,6 +16,7 @@ sidebar_categories: Features: - features/mocking - features/errors + - features/apq - features/logging - features/scalars-enums - features/unions-interfaces diff --git a/docs/sketch/APQs.sketch b/docs/sketch/APQs.sketch new file mode 100644 index 0000000000000000000000000000000000000000..0a30d5f449c058cbce2069c6d6f27d8dcd18dbc9 GIT binary patch literal 280465 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 z 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 ?obM2pF{(G0#;+=rd8&1or2CX+6564MXbz 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�yK)>t9j2g|x@WcOQbUrGgM!h98#lRk# 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 + +To get started with APQ, add the [Automatic Persisted Queries Link](https://github.com/apollographql/apollo-link-persisted-queries) to the client codebase with `npm install apollo-link-persisted-queries`. Next incorporate the APQ link with Apollo Client's link chain before the HTTP link: + +```js +import { createPersistedQueryLink } from "apollo-link-persisted-queries"; +import { createHttpLink } from "apollo-link-http"; +import { InMemoryCache } from "apollo-cache-inmemory"; +import ApolloClient from "apollo-client"; + +const link = createPersistedQueryLink().concat(createHttpLink({ uri: "/graphql" })); + +const client = new ApolloClient({ + cache: new InMemoryCache(), + link: link, +}); +``` + +> Note: using `apollo-link-persisted-query` requires migrating from [apollo-boost](https://www.apollographql.com/docs/react/advanced/boost-migration.html): + +Inside Apollo Server, the query registry is stored in a user-configurable cache. By default, Apollo Server uses a in-memory cache (shared with other caching features). Read more here about [how to configure caching](caching.html). + +

Verify

+ +Apollo Server's persisted queries configuration can be tested from the command-line. The following examples assume Apollo Server is running at `localhost:4000/`. +This example persists a dummy query of `{__typename}`, using its sha256 hash: `ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38`. + + +1. Request a persisted query: + +```bash +curl "http://localhost:4000/?extensions=\{\"persistedQuery\":\{\"version\":1,\"sha256Hash\":\"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38\"\}\}" +``` + + Expect a response of: `{"errors": [{"message": "PersistedQueryNotFound"}]}`. + +2. Store the query to the cache: + +```bash +curl "http://localhost:4000/?query=\{__typename\}&extensions=\{\"persistedQuery\":\{\"version\":1,\"sha256Hash\":\"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38\"\}\}" +``` + + Expect a response of `{"data": {"__typename": "Query"}}"`. + +3. Request the persisted query again: + +```bash +curl "http://localhost:4000/?extensions=\{\"persistedQuery\":\{\"version\":1,\"sha256Hash\":\"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38\"\}\}" +``` + + Expect a response of `{"data": {"__typename": "Query"}}"`, as the query string is loaded from the cache. + +

Using GET requests with APQ to enable CDNs

+ +A great application for APQ is running Apollo Server behind a CDN. Many CDNs only cache GET requests, but many GraphQL queries are too long to fit comfortably in a cacheable GET request. When the APQ link is created with `createPersistedQueryLink({useGETForHashedQueries: true})`, Apollo Client automatically sends the short hashed queries as GET requests allowing a CDN to serve those request. For full-length queries and for all mutations, Apollo Client will continue to use POST requests. For more about this pattern, read about how [Apollo Server provides cache information to CDNs](). + +

How it works

+ +The mechanism is based on a lightweight protocol extension between Apollo Client and Apollo Server. It works as follows: + +- When the client makes a query, it will optimistically send a short (64-byte) cryptographic hash instead of the full query text. +- *Optimized Path:* If a request containing a persisted query hash is detected, Apollo Server will look it up to find a corresponding query in its registry. Upon finding a match, Apollo Server will expand the request with the full text of the query and execute it. +- *New Query Path:* In the unlikely event that the query is not already in the Apollo Server registry (this only happens the very first time that Apollo Server sees a query), it will ask the client to resend the request using the full text of the query. At that point Apollo Server will store the query / hash mapping in the registry for all subsequent requests to benefit from. + +
+

**Optimized Path**

+
+ +![Optimized path](../img/persistedQueries.optPath.png) + +
+

**New Query Path**

+
+ +![New query path](../img/persistedQueries.newPath.png) + + diff --git a/docs/source/img/persistedQueries.newPath.png b/docs/source/img/persistedQueries.newPath.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0412559f5b710cd32cbc03637e03432d04724d GIT binary patch literal 81022 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

f6Ck=m<&C-#b@Lzf2Ma%`x$r@}u#%BkkIFBf?wN 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 literal 0 HcmV?d00001 diff --git a/docs/source/img/persistedQueries.optPath.png b/docs/source/img/persistedQueries.optPath.png new file mode 100644 index 0000000000000000000000000000000000000000..559904de812e40fb26c74130ed9c315020906f55 GIT binary patch literal 59489 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�&* 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 B_o4s* literal 0 HcmV?d00001 From 2a85be9c9ba240e2093c86f1d6bf1096bbfa7a44 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Thu, 7 Jun 2018 21:32:20 -0700 Subject: [PATCH 09/22] core: add test for GET request with persisted query hashes --- .../src/ApolloServer.test.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/apollo-server-core/src/ApolloServer.test.ts b/packages/apollo-server-core/src/ApolloServer.test.ts index 26673c9b55d..cc14fec4da1 100644 --- a/packages/apollo-server-core/src/ApolloServer.test.ts +++ b/packages/apollo-server-core/src/ApolloServer.test.ts @@ -3,6 +3,7 @@ import { expect } from 'chai'; import { stub } from 'sinon'; import * as http from 'http'; import * as net from 'net'; +import * as url from 'url'; import 'mocha'; import * as fetch from 'node-fetch'; import { sha256 } from 'js-sha256'; @@ -80,11 +81,13 @@ function createHttpServer(server) { body = Buffer.concat(body).toString(); // At this point, we have the headers, method, url and body, and can now // do whatever we need to in order to respond to this request. - runHttpQuery([req, res], { method: req.method, options: server.graphQLServerOptionsForRequest(req as any), - query: JSON.parse(body), + query: + req.method.toUpperCase() === 'GET' + ? url.parse(req.url, true) + : JSON.parse(body), request: convertNodeHttpToRequest(req), }) .then(gqlResponse => { @@ -1001,6 +1004,18 @@ describe('ApolloServerBase', () => { done(); }, done); }); + + it('returns correct result for persisted query link using get request', done => { + const variables = { id: 1 }; + const link = createPersistedQuery({ + useGETForHashedQueries: true, + }).concat(createHttpLink({ uri, fetch } as any)); + + execute(link, { query, variables } as any).subscribe(result => { + expect(result.data).to.deep.equal({ testString: 'test string' }); + done(); + }, done); + }); }); }); }); From 81431d23e2feb80cc62a6a6e471a2a5cfa4c7d22 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Thu, 7 Jun 2018 21:32:40 -0700 Subject: [PATCH 10/22] core: add APQ to changelog --- packages/apollo-server-core/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/apollo-server-core/CHANGELOG.md b/packages/apollo-server-core/CHANGELOG.md index 8c2780f211a..b9e93490710 100644 --- a/packages/apollo-server-core/CHANGELOG.md +++ b/packages/apollo-server-core/CHANGELOG.md @@ -2,6 +2,7 @@ ### vNEXT +* `apollo-server-core`: Add persisted queries [PR#1149](https://github.com/apollographql/apollo-server/pull/1149) * `apollo-server-core`: **breaking** gql is exported from gql-tag and ApolloServer requires a DocumentNode [PR#1146](https://github.com/apollographql/apollo-server/pull/1146) * `apollo-server-core`: accept `Request` object in `runQuery` [PR#1108](https://github.com/apollographql/apollo-server/pull/1108) * `apollo-server-core`: move query parse into runQuery and no longer accept GraphQL AST over the wire [PR#1097](https://github.com/apollographql/apollo-server/pull/1097) From c961b4380a13d2b3bf553540e7de82a3f4885374 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Thu, 7 Jun 2018 22:40:36 -0700 Subject: [PATCH 11/22] integration-testsuite: add apq tests --- .../package.json | 4 +- .../src/index.ts | 115 ++++++++++++++++++ 2 files changed, 118 insertions(+), 1 deletion(-) diff --git a/packages/apollo-server-integration-testsuite/package.json b/packages/apollo-server-integration-testsuite/package.json index d8906c9396a..94882c0156f 100644 --- a/packages/apollo-server-integration-testsuite/package.json +++ b/packages/apollo-server-integration-testsuite/package.json @@ -31,6 +31,8 @@ }, "devDependencies": { "@types/node": "^10.1.2", - "graphql-tag": "^2.9.2" + "apollo-link-persisted-queries": "^0.2.0", + "graphql-tag": "^2.9.2", + "js-sha256": "^0.9.0" } } diff --git a/packages/apollo-server-integration-testsuite/src/index.ts b/packages/apollo-server-integration-testsuite/src/index.ts index b838a951c53..42d34fa9f08 100644 --- a/packages/apollo-server-integration-testsuite/src/index.ts +++ b/packages/apollo-server-integration-testsuite/src/index.ts @@ -2,6 +2,10 @@ import { expect } from 'chai'; import { stub } from 'sinon'; import 'mocha'; +//persisted query tests +import { sha256 } from 'js-sha256'; +import { VERSION } from 'apollo-link-persisted-queries'; + import { GraphQLSchema, GraphQLObjectType, @@ -1063,5 +1067,116 @@ export default (createApp: CreateAppFunc, destroyApp?: DestroyAppFunc) => { }); }); }); + + describe('Persisted Queries', () => { + const query = '{testString}'; + + const hash = sha256 + .create() + .update(query) + .hex(); + const extensions = { + persistedQuery: { + version: VERSION, + sha256Hash: hash, + }, + }; + + beforeEach(async () => { + app = await createApp({ + graphqlOptions: { + schema, + cache: new Map() as any, + }, + }); + }); + + it('returns PersistedQueryNotFound on the first try', async () => { + const result = await request(app) + .post('/graphql') + .send({ + extensions, + }); + + expect(result.body.data).not.to.exist; + expect(result.body.errors.length).to.equal(1); + expect(result.body.errors[0].message).to.equal( + 'PersistedQueryNotFound', + ); + expect(result.body.errors[0].extensions.code).to.equal( + 'PERSISTED_QUERY_NOT_FOUND', + ); + }); + it('returns result on the second try', async () => { + await request(app) + .post('/graphql') + .send({ + extensions, + }); + const result = await request(app) + .post('/graphql') + .send({ + extensions, + query, + }); + + expect(result.body.data).to.deep.equal({ testString: 'it works' }); + expect(result.body.errors).not.to.exist; + }); + + it('returns result on the persisted query', async () => { + await request(app) + .post('/graphql') + .send({ + extensions, + }); + await request(app) + .post('/graphql') + .send({ + extensions, + query, + }); + const result = await request(app) + .post('/graphql') + .send({ + extensions, + }); + + expect(result.body.data).to.deep.equal({ testString: 'it works' }); + expect(result.body.errors).not.to.exist; + }); + + it('returns error when hash does not match', async () => { + const response = await request(app) + .post('/graphql') + .send({ + extensions: { + persistedQuery: { + version: VERSION, + sha: + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + }, + }, + query, + }); + expect(response.status).to.equal(400); + expect(response.error.text).to.match(/does not match query/); + }); + + it('returns correct result using get request', async () => { + await request(app) + .post('/graphql') + .send({ + extensions, + query, + }); + const result = await request(app) + .get('/graphql') + .query({ + extensions: JSON.stringify(extensions), + }); + expect(result.body.data).to.deep.equal({ testString: 'it works' }); + }); + }); }); }; From 085b71d4e2eb26514e861dced4e953f9c6b382ab Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Fri, 8 Jun 2018 10:34:24 -0700 Subject: [PATCH 12/22] core: KeyValueCache change invalidate to invalidateTags --- packages/apollo-server-core/src/caching.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/apollo-server-core/src/caching.ts b/packages/apollo-server-core/src/caching.ts index cc162e5425e..32e8b35727d 100644 --- a/packages/apollo-server-core/src/caching.ts +++ b/packages/apollo-server-core/src/caching.ts @@ -8,5 +8,5 @@ export interface KeyValueCache { }, ): Promise; get(key: string): Promise; - invalidate(tags: string[]): Promise; + invalidateTags(tags: string[]): Promise; } From 11a005e6ed325b108012fe5466b189ebfdc8c64f Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Fri, 8 Jun 2018 17:19:43 -0700 Subject: [PATCH 13/22] docs: update curls to use -g and add note about using GET --- docs/source/features/apq.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/features/apq.md b/docs/source/features/apq.md index f13e78c3663..2cf47a00e19 100644 --- a/docs/source/features/apq.md +++ b/docs/source/features/apq.md @@ -3,9 +3,9 @@ title: Automatic Persisted Queries description: Reduce the size of GraphQL requests over the wire --- -The size of individual GraphQL query strings can be a major pain point. Apollo Server allows implements Automatic Persisted Queries (APQ), a technique that greatly improves network performance for GraphQL with zero build-time configuration. A persisted query is a ID or hash that can be sent to the server instead of the entire GraphQL query string. This smaller signature reduces bandwidth utilization and speeds up client loading times. +The size of individual GraphQL query strings can be a major pain point. Apollo Server allows implements Automatic Persisted Queries (APQ), a technique that greatly improves network performance for GraphQL with zero build-time configuration. A persisted query is a ID or hash that can be sent to the server instead of the entire GraphQL query string. This smaller signature reduces bandwidth utilization and speeds up client loading times. Persisted queries are especially nice paired with GET requests, enabling the browser cache and [integration with a CDN](#get). -To accommodate this new query representation, Apollo Server contains a cache that stores the mapping between hash and query string, efficiently retrieving the corresponding query. Previously, the generation of mapping would require a complex build step. Paired with Apollo Client, Apollo Server provides the ability to generate this mapping automatically. +To accommodate the new query representation, Apollo Server contains a cache that stores the mapping between hash and query string. Previously, the generation of mapping would require a complex build step. Apollo Server paired with Apollo Client provides the ability to generate the mapping automatically.

Setup

@@ -38,15 +38,15 @@ This example persists a dummy query of `{__typename}`, using its sha256 hash: `e 1. Request a persisted query: ```bash -curl "http://localhost:4000/?extensions=\{\"persistedQuery\":\{\"version\":1,\"sha256Hash\":\"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38\"\}\}" +curl -g 'http://localhost:4000/?extensions={"persistedQuery":{"version":1,"sha256Hash":"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38"}}' ``` - Expect a response of: `{"errors": [{"message": "PersistedQueryNotFound"}]}`. + Expect a response of: `{"errors": [{"message": "PersistedQueryNotFound", "extensions": {...}}]}`. 2. Store the query to the cache: ```bash -curl "http://localhost:4000/?query=\{__typename\}&extensions=\{\"persistedQuery\":\{\"version\":1,\"sha256Hash\":\"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38\"\}\}" +curl -g 'http://localhost:4000/?query={__typename}&extensions={"persistedQuery":{"version":1,"sha256Hash":"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38"}}' ``` Expect a response of `{"data": {"__typename": "Query"}}"`. @@ -54,7 +54,7 @@ curl "http://localhost:4000/?query=\{__typename\}&extensions=\{\"persistedQuery\ 3. Request the persisted query again: ```bash -curl "http://localhost:4000/?extensions=\{\"persistedQuery\":\{\"version\":1,\"sha256Hash\":\"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38\"\}\}" +curl -g 'http://localhost:4000/?extensions={"persistedQuery":{"version":1,"sha256Hash":"ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38"}}' ``` Expect a response of `{"data": {"__typename": "Query"}}"`, as the query string is loaded from the cache. From d48019119686ab4dc0915ee33a84bef10f3dc340 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Fri, 8 Jun 2018 17:22:45 -0700 Subject: [PATCH 14/22] core: move APQ tests out of subscription describe block --- .../src/ApolloServer.test.ts | 219 +++++++++--------- 1 file changed, 109 insertions(+), 110 deletions(-) diff --git a/packages/apollo-server-core/src/ApolloServer.test.ts b/packages/apollo-server-core/src/ApolloServer.test.ts index cc14fec4da1..7f414d80f95 100644 --- a/packages/apollo-server-core/src/ApolloServer.test.ts +++ b/packages/apollo-server-core/src/ApolloServer.test.ts @@ -887,135 +887,134 @@ describe('ApolloServerBase', () => { }) .catch(done); }); + }); + describe('Persisted Queries', () => { + let server; + const query = gql` + ${TEST_STRING_QUERY} + `; + const hash = sha256 + .create() + .update(TEST_STRING_QUERY) + .hex(); + const extensions = { + persistedQuery: { + version: VERSION, + sha256Hash: hash, + }, + }; + let uri: string; - describe('Persisted Queries', () => { - let server; - const query = gql` - ${TEST_STRING_QUERY} - `; - const hash = sha256 - .create() - .update(TEST_STRING_QUERY) - .hex(); - const extensions = { - persistedQuery: { - version: VERSION, - sha256Hash: hash, - }, - }; - let uri: string; - - beforeEach(async () => { - server = new ApolloServerBase({ - schema, - introspection: false, - }); - - const httpServer = createHttpServer(server); - - server.use({ - getHttp: () => httpServer, - path: '/graphql', - cache: new Map() as any, - }); - uri = (await server.listen()).url; + beforeEach(async () => { + server = new ApolloServerBase({ + schema, + introspection: false, }); - afterEach(async () => { - await server.stop(); + const httpServer = createHttpServer(server); + + server.use({ + getHttp: () => httpServer, + path: '/graphql', + cache: new Map() as any, }); + uri = (await server.listen()).url; + }); - it('returns PersistedQueryNotFound on the first try', async () => { - const apolloFetch = createApolloFetch({ uri }); + afterEach(async () => { + await server.stop(); + }); - const result = await apolloFetch({ - extensions, - } as any); + it('returns PersistedQueryNotFound on the first try', async () => { + const apolloFetch = createApolloFetch({ uri }); - expect(result.data).not.to.exist; - expect(result.errors.length).to.equal(1); - expect(result.errors[0].message).to.equal('PersistedQueryNotFound'); - expect(result.errors[0].extensions.code).to.equal( - 'PERSISTED_QUERY_NOT_FOUND', - ); - }); - it('returns result on the second try', async () => { - const apolloFetch = createApolloFetch({ uri }); + const result = await apolloFetch({ + extensions, + } as any); - await apolloFetch({ - extensions, - } as any); - const result = await apolloFetch({ - extensions, - query: TEST_STRING_QUERY, - } as any); + expect(result.data).not.to.exist; + expect(result.errors.length).to.equal(1); + expect(result.errors[0].message).to.equal('PersistedQueryNotFound'); + expect(result.errors[0].extensions.code).to.equal( + 'PERSISTED_QUERY_NOT_FOUND', + ); + }); + it('returns result on the second try', async () => { + const apolloFetch = createApolloFetch({ uri }); - expect(result.data).to.deep.equal({ testString: 'test string' }); - expect(result.errors).not.to.exist; - }); + await apolloFetch({ + extensions, + } as any); + const result = await apolloFetch({ + extensions, + query: TEST_STRING_QUERY, + } as any); - it('returns result on the persisted query', async () => { - const apolloFetch = createApolloFetch({ uri }); + expect(result.data).to.deep.equal({ testString: 'test string' }); + expect(result.errors).not.to.exist; + }); - await apolloFetch({ - extensions, - } as any); - await apolloFetch({ - extensions, - query: TEST_STRING_QUERY, - } as any); - const result = await apolloFetch({ - extensions, - } as any); + it('returns result on the persisted query', async () => { + const apolloFetch = createApolloFetch({ uri }); - expect(result.data).to.deep.equal({ testString: 'test string' }); - expect(result.errors).not.to.exist; - }); + await apolloFetch({ + extensions, + } as any); + await apolloFetch({ + extensions, + query: TEST_STRING_QUERY, + } as any); + const result = await apolloFetch({ + extensions, + } as any); + + expect(result.data).to.deep.equal({ testString: 'test string' }); + expect(result.errors).not.to.exist; + }); - it('returns error when hash does not match', async () => { - const apolloFetch = createApolloFetch({ uri }); + it('returns error when hash does not match', async () => { + const apolloFetch = createApolloFetch({ uri }); - try { - await apolloFetch({ - extensions: { - persistedQuery: { - version: VERSION, - sha: - 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', - }, + try { + await apolloFetch({ + extensions: { + persistedQuery: { + version: VERSION, + sha: + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', }, - query: TEST_STRING_QUERY, - } as any); - expect.fail(); - } catch (e) { - expect(e.response.status).to.equal(400); - expect(e.response.raw).to.match(/does not match query/); - } - }); + }, + query: TEST_STRING_QUERY, + } as any); + expect.fail(); + } catch (e) { + expect(e.response.status).to.equal(400); + expect(e.response.raw).to.match(/does not match query/); + } + }); - it('returns correct result for persisted query link', done => { - const variables = { id: 1 }; - const link = createPersistedQuery().concat( - createHttpLink({ uri, fetch } as any), - ); + it('returns correct result for persisted query link', done => { + const variables = { id: 1 }; + const link = createPersistedQuery().concat( + createHttpLink({ uri, fetch } as any), + ); - execute(link, { query, variables } as any).subscribe(result => { - expect(result.data).to.deep.equal({ testString: 'test string' }); - done(); - }, done); - }); + execute(link, { query, variables } as any).subscribe(result => { + expect(result.data).to.deep.equal({ testString: 'test string' }); + done(); + }, done); + }); - it('returns correct result for persisted query link using get request', done => { - const variables = { id: 1 }; - const link = createPersistedQuery({ - useGETForHashedQueries: true, - }).concat(createHttpLink({ uri, fetch } as any)); + it('returns correct result for persisted query link using get request', done => { + const variables = { id: 1 }; + const link = createPersistedQuery({ + useGETForHashedQueries: true, + }).concat(createHttpLink({ uri, fetch } as any)); - execute(link, { query, variables } as any).subscribe(result => { - expect(result.data).to.deep.equal({ testString: 'test string' }); - done(); - }, done); - }); + execute(link, { query, variables } as any).subscribe(result => { + expect(result.data).to.deep.equal({ testString: 'test string' }); + done(); + }, done); }); }); }); From 1481c7e7b445d979295e1ce8e83343fbce09aa78 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Fri, 8 Jun 2018 17:43:03 -0700 Subject: [PATCH 15/22] core: separate persisted query cache and have a default impl --- packages/apollo-server-core/package.json | 2 ++ .../apollo-server-core/src/ApolloServer.ts | 31 ++++++++++++++----- packages/apollo-server-core/src/caching.ts | 9 ++++-- .../apollo-server-core/src/graphqlOptions.ts | 8 +++-- packages/apollo-server-core/src/index.ts | 1 + packages/apollo-server-core/src/types.ts | 9 +++--- .../src/index.ts | 11 ++++++- 7 files changed, 55 insertions(+), 16 deletions(-) diff --git a/packages/apollo-server-core/package.json b/packages/apollo-server-core/package.json index 616d96c79a8..b9b54f0249d 100644 --- a/packages/apollo-server-core/package.json +++ b/packages/apollo-server-core/package.json @@ -27,6 +27,7 @@ "devDependencies": { "@types/fibers": "0.0.30", "@types/graphql": "^0.13.1", + "@types/keyv": "^3.0.1", "@types/node": "^10.1.2", "@types/node-fetch": "^1.6.9", "@types/ws": "^4.0.2", @@ -57,6 +58,7 @@ "graphql-subscriptions": "^0.5.8", "graphql-tools": "^3.0.2", "hash.js": "^1.1.3", + "keyv": "^3.0.0", "node-fetch": "^2.1.2", "subscriptions-transport-ws": "^0.9.9", "ws": "^5.1.1" diff --git a/packages/apollo-server-core/src/ApolloServer.ts b/packages/apollo-server-core/src/ApolloServer.ts index 4a58b6f6486..27f1353d465 100644 --- a/packages/apollo-server-core/src/ApolloServer.ts +++ b/packages/apollo-server-core/src/ApolloServer.ts @@ -27,8 +27,14 @@ import { ExecutionParams, } from 'subscriptions-transport-ws'; +//use as default persisted query store +import Keyv = require('keyv'); + import { formatApolloErrors } from './errors'; -import { GraphQLServerOptions as GraphQLOptions } from './graphqlOptions'; +import { + GraphQLServerOptions as GraphQLOptions, + PersistedQueryOptions, +} from './graphqlOptions'; import { LogFunction } from './logging'; import { @@ -41,8 +47,6 @@ import { SubscriptionServerOptions, } from './types'; -import { KeyValueCache } from './caching'; - const NoIntrospection = (context: ValidationContext) => ({ Field(node: FieldDefinitionNode) { if (node.name.value === '__schema' || node.name.value === '__type') { @@ -110,7 +114,18 @@ export class ApolloServerBase { : noIntro; } - this.requestOptions = requestOptions; + if (requestOptions.persistedQueries !== false) { + if (!requestOptions.persistedQueries) { + requestOptions.persistedQueries = { + cache: new Keyv(), + }; + } + } else { + //the user does not want to use persisted queries, so we remove the field + delete requestOptions.persistedQueries; + } + + this.requestOptions = requestOptions as GraphQLOptions; this.context = context; if ( @@ -168,12 +183,11 @@ const typeDefs = gql\`${startSchema}\` } } - public use({ getHttp, path, cache }: RegistrationOptions) { + public use({ getHttp, path }: RegistrationOptions) { // we need to delay when we actually get the http server // until we move into the listen function this.getHttp = getHttp; this.graphqlPath = path; - this.requestOptions.cache = cache || this.requestOptions.cache; } public enhanceSchema( @@ -385,7 +399,8 @@ const typeDefs = gql\`${startSchema}\` typeof this.context === 'function' ? await this.context({ req: request, - cache: this.requestOptions.cache as KeyValueCache, + //This cache should be the full response cache + //cache: this.requestOptions.cache as KeyValueCache, }) : context; } catch (error) { @@ -403,6 +418,8 @@ const typeDefs = gql\`${startSchema}\` // avoid a bad side effect of the otherwise useful noUnusedLocals option // (https://github.com/Microsoft/TypeScript/issues/21673). logFunction: this.requestOptions.logFunction as LogFunction, + persistedQueries: this.requestOptions + .persistedQueries as PersistedQueryOptions, fieldResolver: this.requestOptions.fieldResolver as GraphQLFieldResolver< any, any diff --git a/packages/apollo-server-core/src/caching.ts b/packages/apollo-server-core/src/caching.ts index 32e8b35727d..0d08b555860 100644 --- a/packages/apollo-server-core/src/caching.ts +++ b/packages/apollo-server-core/src/caching.ts @@ -1,4 +1,9 @@ -export interface KeyValueCache { +export interface PersistedQueryCache { + set(key: string, data: string): Promise; + get(key: string): Promise; +} + +export interface KeyValueCache extends PersistedQueryCache { set( key: string, data: string, @@ -7,6 +12,6 @@ export interface KeyValueCache { tags?: string[]; }, ): Promise; - get(key: string): Promise; + get(key: string): Promise | Promise; invalidateTags(tags: string[]): Promise; } diff --git a/packages/apollo-server-core/src/graphqlOptions.ts b/packages/apollo-server-core/src/graphqlOptions.ts index dc55e0b02fd..9333504dac6 100644 --- a/packages/apollo-server-core/src/graphqlOptions.ts +++ b/packages/apollo-server-core/src/graphqlOptions.ts @@ -4,7 +4,7 @@ import { GraphQLFieldResolver, } from 'graphql'; import { LogFunction } from './logging'; -import { KeyValueCache } from './caching'; +import { PersistedQueryCache } from './caching'; import { GraphQLExtension } from 'graphql-extensions'; /* @@ -42,7 +42,11 @@ export interface GraphQLServerOptions< // cacheControl?: boolean | CacheControlExtensionOptions; cacheControl?: boolean | any; extensions?: Array<() => GraphQLExtension>; - cache?: KeyValueCache; + persistedQueries?: PersistedQueryOptions; +} + +export interface PersistedQueryOptions { + cache: PersistedQueryCache; } export default GraphQLServerOptions; diff --git a/packages/apollo-server-core/src/index.ts b/packages/apollo-server-core/src/index.ts index 8d2831be679..eb8298ac135 100644 --- a/packages/apollo-server-core/src/index.ts +++ b/packages/apollo-server-core/src/index.ts @@ -4,6 +4,7 @@ export { runHttpQuery, HttpQueryRequest, HttpQueryError } from './runHttpQuery'; export { default as GraphQLOptions, resolveGraphqlOptions, + PersistedQueryOptions, } from './graphqlOptions'; export { ApolloError, diff --git a/packages/apollo-server-core/src/types.ts b/packages/apollo-server-core/src/types.ts index 0a587a23a04..1c47edcebcc 100644 --- a/packages/apollo-server-core/src/types.ts +++ b/packages/apollo-server-core/src/types.ts @@ -6,8 +6,10 @@ import { ListenOptions as HttpListenOptions } from 'net'; import { GraphQLExtension } from 'graphql-extensions'; import { EngineReportingOptions } from 'apollo-engine-reporting'; -import { GraphQLServerOptions as GraphQLOptions } from './graphqlOptions'; -import { KeyValueCache } from './caching'; +import { + GraphQLServerOptions as GraphQLOptions, + PersistedQueryOptions, +} from './graphqlOptions'; export type Context = T; export type ContextFunction = ( @@ -38,7 +40,6 @@ export interface Config | 'fieldResolver' | 'cacheControl' | 'tracing' - | 'cache' > { typeDefs?: DocumentNode | [DocumentNode]; resolvers?: IResolvers; @@ -49,6 +50,7 @@ export interface Config mocks?: boolean | IMocks; engine?: boolean | EngineReportingOptions; extensions?: Array<() => GraphQLExtension>; + persistedQueries?: PersistedQueryOptions | false; } // XXX export these directly from apollo-engine-js @@ -83,7 +85,6 @@ export interface MiddlewareOptions { export interface RegistrationOptions { path: string; getHttp: () => HttpServer; - cache?: KeyValueCache; } export interface ServerInfo { diff --git a/packages/apollo-server-integration-testsuite/src/index.ts b/packages/apollo-server-integration-testsuite/src/index.ts index 42d34fa9f08..c524fd19d54 100644 --- a/packages/apollo-server-integration-testsuite/src/index.ts +++ b/packages/apollo-server-integration-testsuite/src/index.ts @@ -1083,10 +1083,19 @@ export default (createApp: CreateAppFunc, destroyApp?: DestroyAppFunc) => { }; beforeEach(async () => { + const map = new Map(); + const cache = { + set: async (key, val) => { + await map.set(key, val); + }, + get: async key => map.get(key), + }; app = await createApp({ graphqlOptions: { schema, - cache: new Map() as any, + persistedQueries: { + cache, + }, }, }); }); From 87cbe5148c4069e26f956d223a1dc18dd97b2016 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Fri, 8 Jun 2018 17:43:54 -0700 Subject: [PATCH 16/22] core: middleware throw NotSupported if no cache impl passed in --- packages/apollo-server-core/src/errors.ts | 13 ++ .../apollo-server-core/src/runHttpQuery.ts | 143 ++++++++++-------- .../src/index.ts | 46 ++++++ 3 files changed, 143 insertions(+), 59 deletions(-) diff --git a/packages/apollo-server-core/src/errors.ts b/packages/apollo-server-core/src/errors.ts index 5dc527dbab0..b1c0a7d4c44 100644 --- a/packages/apollo-server-core/src/errors.ts +++ b/packages/apollo-server-core/src/errors.ts @@ -212,6 +212,19 @@ export class PersistedQueryNotFoundError extends ApolloError { } } +export class PersistedQueryNotSupportedError extends ApolloError { + constructor() { + super('PersistedQueryNotSupported', 'PERSISTED_QUERY_NOT_SUPPORTED'); + + // Set the prototype explicitly. + // https://stackoverflow.com/a/41102306 + Object.setPrototypeOf(this, PersistedQueryNotSupportedError.prototype); + Object.defineProperty(this, 'name', { + value: 'PersistedQueryNotSupportedError', + }); + } +} + export function formatApolloErrors( errors: Array, options?: { diff --git a/packages/apollo-server-core/src/runHttpQuery.ts b/packages/apollo-server-core/src/runHttpQuery.ts index 65b1e404cd6..fafeb898b48 100644 --- a/packages/apollo-server-core/src/runHttpQuery.ts +++ b/packages/apollo-server-core/src/runHttpQuery.ts @@ -6,7 +6,12 @@ import { default as GraphQLOptions, resolveGraphqlOptions, } from './graphqlOptions'; -import { formatApolloErrors, PersistedQueryNotFoundError } from './errors'; +import { + formatApolloErrors, + PersistedQueryNotSupportedError, + PersistedQueryNotFoundError, +} from './errors'; +import { LogAction, LogStep } from './logging'; export interface HttpQueryRequest { method: string; @@ -22,6 +27,11 @@ export interface HttpQueryRequest { request: Pick; } +//The result of a curl does not appear well in the terminal, so we add an extra new line +function prettyJSONStringify(toStringfy) { + return JSON.stringify(toStringfy) + '\n'; +} + export class HttpQueryError extends Error { public statusCode: number; public isGraphQLError: boolean; @@ -41,6 +51,27 @@ export class HttpQueryError extends Error { } } +function throwHttpGraphQLError( + statusCode, + errors: Array, + optionsObject, +) { + throw new HttpQueryError( + statusCode, + prettyJSONStringify({ + errors: formatApolloErrors(errors, { + debug: optionsObject.debug, + formatter: optionsObject.formatError, + logFunction: optionsObject.logFunction, + }), + }), + true, + { + 'Content-Type': 'application/json', + }, + ); +} + export async function runHttpQuery( handlerArguments: Array, request: HttpQueryRequest, @@ -64,19 +95,11 @@ export async function runHttpQuery( if (!debugDefault) { e.warning = `To remove the stacktrace, set the NODE_ENV environment variable to production if the options creation can fail`; } - throw new HttpQueryError( - 500, - JSON.stringify({ - errors: formatApolloErrors([e], { debug: debugDefault }), - }), - true, - { - 'Content-Type': 'application/json', - }, - ); + throwHttpGraphQLError(500, [e], { debug: debugDefault }); + } + if (optionsObject.debug === undefined) { + optionsObject.debug = debugDefault; } - const debug = - optionsObject.debug !== undefined ? optionsObject.debug : debugDefault; let requestPayload; switch (request.method) { @@ -134,42 +157,57 @@ export async function runHttpQuery( } } - if ( - queryString === undefined && - extensions && - extensions.persistedQuery - ) { - // It looks like we've received an Apollo Persisted Query. - const sha = extensions.persistedQuery.sha256Hash; - - queryString = await optionsObject.cache.get(sha); - if (!queryString) { - throw new HttpQueryError( - // Return 200 to simplify processing: we want this to be intepreted by - // the client as data worth interpreting, not an error. + if (extensions && extensions.persistedQuery) { + // It looks like we've received an Apollo Persisted Query. Check if we + // support them. In an ideal world, we always would, however since the + // middleware options are created every request, it does not make sense + // to create a default cache here and save a referrence to use across + // requests + if ( + !optionsObject.persistedQueries || + !optionsObject.persistedQueries.cache + ) { + // Return 200 to simplify processing: we want this to be intepreted by + // the client as data worth interpreting, not an error. + throwHttpGraphQLError( 200, - JSON.stringify({ - errors: formatApolloErrors([new PersistedQueryNotFoundError()], { - formatter: optionsObject.formatError, - debug, - logFunction: optionsObject.logFunction, - }), - }), - true, - { - 'Content-Type': 'application/json', - }, + [new PersistedQueryNotSupportedError()], + optionsObject, ); + } else if (extensions.persistedQuery.version !== 1) { + throw new HttpQueryError(400, 'Unsuported persited query version'); } - } else if (extensions && extensions.persistedQuery) { + const sha = extensions.persistedQuery.sha256Hash; - const calculatedSha = sha256() - .update(queryString) - .digest('hex'); - if (sha !== calculatedSha) { - throw new HttpQueryError(400, `provided sha does not match query`); + + if (queryString === undefined) { + queryString = await optionsObject.persistedQueries.cache.get(sha); + if (!queryString) { + throwHttpGraphQLError( + 200, + [new PersistedQueryNotFoundError()], + optionsObject, + ); + } + } else { + const calculatedSha = sha256() + .update(queryString) + .digest('hex'); + if (sha !== calculatedSha) { + throw new HttpQueryError(400, 'provided sha does not match query'); + } + + optionsObject.persistedQueries.cache + .set(sha, queryString) + .catch(error => { + optionsObject.logFunction({ + action: LogAction.setup, + step: LogStep.status, + key: 'error', + data: error, + }); + }); } - await optionsObject.cache.set(sha, queryString); } //We ensure that there is a queryString or parsedQuery after formatParams @@ -229,20 +267,7 @@ export async function runHttpQuery( context = await context(); } catch (e) { e.message = `Context creation failed: ${e.message}`; - throw new HttpQueryError( - 500, - JSON.stringify({ - errors: formatApolloErrors([e], { - formatter: optionsObject.formatError, - debug, - logFunction: optionsObject.logFunction, - }), - }), - true, - { - 'Content-Type': 'application/json', - }, - ); + throwHttpGraphQLError(500, [e], optionsObject); } } else if (isBatch) { context = Object.assign( @@ -292,7 +317,7 @@ export async function runHttpQuery( return { errors: formatApolloErrors([e], { formatter: optionsObject.formatError, - debug, + debug: optionsObject.debug, logFunction: optionsObject.logFunction, }), }; diff --git a/packages/apollo-server-integration-testsuite/src/index.ts b/packages/apollo-server-integration-testsuite/src/index.ts index c524fd19d54..5c1f0f513b8 100644 --- a/packages/apollo-server-integration-testsuite/src/index.ts +++ b/packages/apollo-server-integration-testsuite/src/index.ts @@ -408,6 +408,52 @@ export default (createApp: CreateAppFunc, destroyApp?: DestroyAppFunc) => { }); }); + it('returns PersistedQueryNotSupported to a GET request', async () => { + app = await createApp(); + const req = request(app) + .get('/graphql') + .query({ + extensions: JSON.stringify({ + persistedQuery: { + version: 1, + sha256Hash: + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + }, + }), + }); + return req.then(res => { + expect(res.status).to.equal(200); + expect(res.body.errors).to.exist; + expect(res.body.errors.length).to.equal(1); + expect(res.body.errors[0].message).to.equal( + 'PersistedQueryNotSupported', + ); + }); + }); + + it('returns PersistedQueryNotSupported to a POST request', async () => { + app = await createApp(); + const req = request(app) + .post('/graphql') + .send({ + extensions: { + persistedQuery: { + version: 1, + sha256Hash: + 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + }, + }, + }); + return req.then(res => { + expect(res.status).to.equal(200); + expect(res.body.errors).to.exist; + expect(res.body.errors.length).to.equal(1); + expect(res.body.errors[0].message).to.equal( + 'PersistedQueryNotSupported', + ); + }); + }); + it('can handle a request with variables', async () => { app = await createApp(); const expected = { From 317cf0da142996751dc97fba78fe927340056a6d Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Fri, 8 Jun 2018 17:56:17 -0700 Subject: [PATCH 17/22] core: make default cache an lru implementation --- packages/apollo-server-core/package.json | 2 ++ packages/apollo-server-core/src/ApolloServer.ts | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/apollo-server-core/package.json b/packages/apollo-server-core/package.json index b9b54f0249d..b22a63d4069 100644 --- a/packages/apollo-server-core/package.json +++ b/packages/apollo-server-core/package.json @@ -30,6 +30,7 @@ "@types/keyv": "^3.0.1", "@types/node": "^10.1.2", "@types/node-fetch": "^1.6.9", + "@types/quick-lru": "^1.1.0", "@types/ws": "^4.0.2", "apollo-engine": "^1.1.1", "apollo-fetch": "^0.7.0", @@ -60,6 +61,7 @@ "hash.js": "^1.1.3", "keyv": "^3.0.0", "node-fetch": "^2.1.2", + "quick-lru": "^1.1.0", "subscriptions-transport-ws": "^0.9.9", "ws": "^5.1.1" } diff --git a/packages/apollo-server-core/src/ApolloServer.ts b/packages/apollo-server-core/src/ApolloServer.ts index 27f1353d465..08c98b1c09d 100644 --- a/packages/apollo-server-core/src/ApolloServer.ts +++ b/packages/apollo-server-core/src/ApolloServer.ts @@ -29,6 +29,7 @@ import { //use as default persisted query store import Keyv = require('keyv'); +import QuickLru = require('quick-lru'); import { formatApolloErrors } from './errors'; import { @@ -116,8 +117,12 @@ export class ApolloServerBase { if (requestOptions.persistedQueries !== false) { if (!requestOptions.persistedQueries) { + //maxSize is the number of elements that can be stored inside of the cache + //https://github.com/withspectrum/spectrum has about 200 instances of gql` + //300 queries seems reasonable + const lru = new QuickLru({ maxSize: 300 }); requestOptions.persistedQueries = { - cache: new Keyv(), + cache: new Keyv({ store: lru }), }; } } else { From b130457771bb337e7454d70f179d54e351765a8d Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Fri, 8 Jun 2018 17:56:55 -0700 Subject: [PATCH 18/22] core: prettify all JSON.stringify with helper method --- packages/apollo-server-core/src/runHttpQuery.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/apollo-server-core/src/runHttpQuery.ts b/packages/apollo-server-core/src/runHttpQuery.ts index fafeb898b48..6bda0fe84c6 100644 --- a/packages/apollo-server-core/src/runHttpQuery.ts +++ b/packages/apollo-server-core/src/runHttpQuery.ts @@ -331,12 +331,12 @@ export async function runHttpQuery( //This code is run on parse/validation errors and any other error that //doesn't reach GraphQL execution if (gqlResponse.errors && typeof gqlResponse.data === 'undefined') { - throw new HttpQueryError(400, JSON.stringify(gqlResponse), true, { + throw new HttpQueryError(400, prettyJSONStringify(gqlResponse), true, { 'Content-Type': 'application/json', }); } - return JSON.stringify(gqlResponse); + return prettyJSONStringify(gqlResponse); } - return JSON.stringify(responses); + return prettyJSONStringify(responses); } From 1ae8e32e4bf06bcd5778f204edacfe0e3bd29560 Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Mon, 11 Jun 2018 13:15:21 -0700 Subject: [PATCH 19/22] core: remove commented out cache from context args --- packages/apollo-server-core/src/ApolloServer.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/apollo-server-core/src/ApolloServer.ts b/packages/apollo-server-core/src/ApolloServer.ts index 08c98b1c09d..e9550d4161b 100644 --- a/packages/apollo-server-core/src/ApolloServer.ts +++ b/packages/apollo-server-core/src/ApolloServer.ts @@ -404,8 +404,6 @@ const typeDefs = gql\`${startSchema}\` typeof this.context === 'function' ? await this.context({ req: request, - //This cache should be the full response cache - //cache: this.requestOptions.cache as KeyValueCache, }) : context; } catch (error) { From 8cba571f375dfbcc94d120413b2fa9ab98b77cdd Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Mon, 11 Jun 2018 13:15:59 -0700 Subject: [PATCH 20/22] core: make persisted query write completely asynchronous --- .../apollo-server-core/src/runHttpQuery.ts | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/packages/apollo-server-core/src/runHttpQuery.ts b/packages/apollo-server-core/src/runHttpQuery.ts index 6bda0fe84c6..f9f1b43f95b 100644 --- a/packages/apollo-server-core/src/runHttpQuery.ts +++ b/packages/apollo-server-core/src/runHttpQuery.ts @@ -175,7 +175,7 @@ export async function runHttpQuery( optionsObject, ); } else if (extensions.persistedQuery.version !== 1) { - throw new HttpQueryError(400, 'Unsuported persited query version'); + throw new HttpQueryError(400, 'Unsupported persisted query version'); } const sha = extensions.persistedQuery.sha256Hash; @@ -197,16 +197,22 @@ export async function runHttpQuery( throw new HttpQueryError(400, 'provided sha does not match query'); } - optionsObject.persistedQueries.cache - .set(sha, queryString) - .catch(error => { - optionsObject.logFunction({ - action: LogAction.setup, - step: LogStep.status, - key: 'error', - data: error, + //Do the store completely asynchronously + Promise.resolve().then(() => { + //We do not wait on the cache storage to complete + optionsObject.persistedQueries.cache + .set(sha, queryString) + .catch(error => { + if (optionsObject.logFunction) { + optionsObject.logFunction({ + action: LogAction.setup, + step: LogStep.status, + key: 'error', + data: error, + }); + } }); - }); + }); } } From fd27bc8a3023a15c8d5ae20d4cbadbd1aa8ff9eb Mon Sep 17 00:00:00 2001 From: Evans Hauser Date: Mon, 11 Jun 2018 14:30:34 -0700 Subject: [PATCH 21/22] core: fix sha import and fix persisted query cache test --- .../src/ApolloServer.test.ts | 4 ++- .../apollo-server-core/src/runHttpQuery.ts | 33 ++++++++++--------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/packages/apollo-server-core/src/ApolloServer.test.ts b/packages/apollo-server-core/src/ApolloServer.test.ts index 9452013e054..944c8f7b4e9 100644 --- a/packages/apollo-server-core/src/ApolloServer.test.ts +++ b/packages/apollo-server-core/src/ApolloServer.test.ts @@ -905,6 +905,9 @@ describe('ApolloServerBase', () => { server = new ApolloServerBase({ schema, introspection: false, + persistedQueries: { + cache: new Map() as any, + }, }); const httpServer = createHttpServer(server); @@ -912,7 +915,6 @@ describe('ApolloServerBase', () => { server.use({ getHttp: () => httpServer, path: '/graphql', - cache: new Map() as any, }); uri = (await server.listen()).url; }); diff --git a/packages/apollo-server-core/src/runHttpQuery.ts b/packages/apollo-server-core/src/runHttpQuery.ts index f9f1b43f95b..a18f80a7fb7 100644 --- a/packages/apollo-server-core/src/runHttpQuery.ts +++ b/packages/apollo-server-core/src/runHttpQuery.ts @@ -1,5 +1,5 @@ import { ExecutionResult } from 'graphql'; -import * as sha256 from 'hash.js/lib/hash/sha/256'; +import sha256 from 'hash.js/lib/hash/sha/256'; import { runQuery, QueryOptions } from './runQuery'; import { @@ -198,21 +198,22 @@ export async function runHttpQuery( } //Do the store completely asynchronously - Promise.resolve().then(() => { - //We do not wait on the cache storage to complete - optionsObject.persistedQueries.cache - .set(sha, queryString) - .catch(error => { - if (optionsObject.logFunction) { - optionsObject.logFunction({ - action: LogAction.setup, - step: LogStep.status, - key: 'error', - data: error, - }); - } - }); - }); + Promise.resolve() + .then(() => { + //We do not wait on the cache storage to complete + return optionsObject.persistedQueries.cache.set(sha, queryString); + }) + .catch(error => { + console.log(error); + if (optionsObject.logFunction) { + optionsObject.logFunction({ + action: LogAction.setup, + step: LogStep.status, + key: 'error', + data: error, + }); + } + }); } } From dfde27ca272ffc0e3f401a592d30652c04ffa9c4 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Mon, 11 Jun 2018 15:39:48 -0700 Subject: [PATCH 22/22] A few tweaks from code review pairing --- docs/source/features/apq.md | 4 ++-- packages/apollo-server-core/src/caching.ts | 13 ------------- packages/apollo-server-core/src/runHttpQuery.ts | 3 ++- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/docs/source/features/apq.md b/docs/source/features/apq.md index 2cf47a00e19..16e50726546 100644 --- a/docs/source/features/apq.md +++ b/docs/source/features/apq.md @@ -5,7 +5,7 @@ description: Reduce the size of GraphQL requests over the wire The size of individual GraphQL query strings can be a major pain point. Apollo Server allows implements Automatic Persisted Queries (APQ), a technique that greatly improves network performance for GraphQL with zero build-time configuration. A persisted query is a ID or hash that can be sent to the server instead of the entire GraphQL query string. This smaller signature reduces bandwidth utilization and speeds up client loading times. Persisted queries are especially nice paired with GET requests, enabling the browser cache and [integration with a CDN](#get). -To accommodate the new query representation, Apollo Server contains a cache that stores the mapping between hash and query string. Previously, the generation of mapping would require a complex build step. Apollo Server paired with Apollo Client provides the ability to generate the mapping automatically. +With Apollo Persisted Queries, the ID is a deterministic hash of the input query, so we don't need a complex build step to share the ID between clients and servers. If a server doesn't know about a given hash, the client can expand the query for it; Apollo Server caches that mapping.

Setup

@@ -27,7 +27,7 @@ const client = new ApolloClient({ > Note: using `apollo-link-persisted-query` requires migrating from [apollo-boost](https://www.apollographql.com/docs/react/advanced/boost-migration.html): -Inside Apollo Server, the query registry is stored in a user-configurable cache. By default, Apollo Server uses a in-memory cache (shared with other caching features). Read more here about [how to configure caching](caching.html). +Inside Apollo Server, the query registry is stored in a user-configurable cache. By default, Apollo Server uses a in-memory cache.

Verify

diff --git a/packages/apollo-server-core/src/caching.ts b/packages/apollo-server-core/src/caching.ts index 0d08b555860..d87aaebe2c9 100644 --- a/packages/apollo-server-core/src/caching.ts +++ b/packages/apollo-server-core/src/caching.ts @@ -2,16 +2,3 @@ export interface PersistedQueryCache { set(key: string, data: string): Promise; get(key: string): Promise; } - -export interface KeyValueCache extends PersistedQueryCache { - set( - key: string, - data: string, - options?: { - ttl?: number; - tags?: string[]; - }, - ): Promise; - get(key: string): Promise | Promise; - invalidateTags(tags: string[]): Promise; -} diff --git a/packages/apollo-server-core/src/runHttpQuery.ts b/packages/apollo-server-core/src/runHttpQuery.ts index a18f80a7fb7..5aa123a0a2a 100644 --- a/packages/apollo-server-core/src/runHttpQuery.ts +++ b/packages/apollo-server-core/src/runHttpQuery.ts @@ -204,7 +204,6 @@ export async function runHttpQuery( return optionsObject.persistedQueries.cache.set(sha, queryString); }) .catch(error => { - console.log(error); if (optionsObject.logFunction) { optionsObject.logFunction({ action: LogAction.setup, @@ -212,6 +211,8 @@ export async function runHttpQuery( key: 'error', data: error, }); + } else { + console.warn(error); } }); }