Commit graph

395 commits

Author SHA1 Message Date
Evans Hauser
65d7b100e4
CDN cache-control headers (#1138)
* core: return response object from runHttpQuery

* core: change gqlResponse to graphqlResponse and add custom RequestInit type

* core: add cache-control headers based on the calcualted maxAge

* core: add extensions check during cache-control header creation

* core: create headers when cacheControl is not enabled otherwise pass through extensions

* express: initial tests of CDN cach-contol headers

* core: fixed tests with applyMiddleware and pass cacheControl config

* core: cache hint fixes, ignore when no maxAge, and check for rootKeys

* core: check for hints of length 0

* core: node 10 fails file upload test for some stream reason

* docs: add cdn caching section to features

* add space after // in comments

* fix feedback: proxy alignment and response creation

Adds cache-control toggles for http header calculation and stripping out
the cache control extensions from the respose.

Brings the default calculation of headers in line with the proxy.

* fix links in comments

* fix tests with null dereference

* update cdn docs and migration guide to include latest cdn configuration

* add not for engine migration to set engine to false

* add engine set to false in migration guide

* express: fixed tests

* address feedback to use omit and documentation

* docs: cdn caching is alternative to full response caching

* add back epipe check in upload tests
2018-06-21 13:29:14 -07:00
David Glasser
36c595bd12 Upgrade apollo-engine-reporting to beta.13
Smaller default uncompressedReportSizeTarget
2018-06-21 12:38:36 -07:00
Martijn Walraven
35ac867830 Avoid direct imports of node-fetch 2018-06-21 21:35:37 +02:00
Martijn Walraven
2d624c9b28 Remove direct dependency on node-fetch and add @types/ws 2018-06-21 21:28:31 +02:00
Evans Hauser
d1878703d3
Move Uploads to constructor and remove enhanceSchema (#1204)
* move uploads into server constructor

* remove enhanceSchema

* address feedback
2018-06-21 12:16:52 -07:00
Martijn Walraven
14247279ec Remove logFunction
We now support custom extensions, which have a much nicer API.
2018-06-21 16:05:48 +02:00
Martijn Walraven
8914b135df Add error handling to RESTDataSource and extract apollo-server-errors
Because apollo-server-core depends on apollo-datasource-rest, we need to extract errors into their own package to avoid a circular dependency.
2018-06-21 15:28:14 +02:00
Evans Hauser
9af856c2c8
Typescript Improvements and esModuleInterop fix (#1210)
* add string input to gql tag

* remove esModuleInterop, tested locally

* change IMPORT_FUNCTION to something real

* fix the rest of the tests
2018-06-20 16:21:50 -07:00
Martijn Walraven
aa0650c4ae Remove unnecessary workaround for ES5 2018-06-20 12:42:36 +02:00
Martijn Walraven
0928d79efb Move in memory cache to apollo-server-caching 2018-06-20 11:06:24 +02:00
Clarence Ngoh
387f25067a rename BadUserInputError to UserInputError (#1197)
reason: "bad" and "error" are redundant
2018-06-19 15:15:24 -07:00
Martijn Walraven
073655af8e Remove willReceiveCache and willReceiveContext from RESTDataSource 2018-06-19 11:14:22 +02:00
Evans Hauser
9588468875
v2.0.0-rc.0 2018-06-14 23:18:07 -07:00
Martijn Walraven
685d3399db Apollo Server 2.0 - Caching + RESTDataSource (#1163)
* Enable declarationMap in tsconfig.json

See http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-9.html

* Add apollo-server-caching package and improve typings

* Remove superfluous test steps

* Add .npmignore to apollo-server-caching

* Add apollo-server-env and apollo-datasource-rest packages

* Fix broken imports

* Use prepublish instead of prepare

* cache is now passed to data sources from ApolloServer constructor

* fix Object.values to use the object passed in rather than this

* add initial datasource test

* docs: initial data source documentation

* docs: initial data source documentation

* compiles and documentation now highlights code in data-sources.md

* Some changes to the data source docs
2018-06-14 23:13:33 -07:00
Evans Hauser
439ec44135
core: add Scalar Upload with schema is made execuable 2018-06-14 15:58:23 -07:00
David Glasser
d006d4d83d v2.0.0-beta.11 2018-06-14 12:00:21 -07:00
David Glasser
3fccd43bae simplify upload enhanceSchema, rename to installSubscriptionHandlers
also export graphql-tools and graphql-subscriptions from apollo-server-core
2018-06-14 11:57:30 -07:00
David Glasser
1707967518 Specify full path in tsconfig imports
Emacs tide mode seems to require
this (https://github.com/ananthakumaran/tide/pull/238 is supposed to have fixed
it but it didn't work?)
2018-06-14 11:57:30 -07:00
Evans Hauser
9d853f4be4 move ApolloServer tests into integration tests from core 2018-06-14 11:57:30 -07:00
Evans Hauser
304debf9ee errors insubscription server creation and non-async regsiterServer for express 2018-06-14 11:57:30 -07:00
Evans Hauser
54ced71cff initial implementation of createSubscriptionServer 2018-06-14 11:57:30 -07:00
David Glasser
01c7c37e3c start to refactor subscriptions 2018-06-14 11:57:30 -07:00
David Glasser
ddc589d996 v2.0.0-beta.10 2018-06-13 16:07:41 -07:00
David Glasser
eb0ae81cfa Update integration test suite to test ApolloServer
Fix some connect bugs.
2018-06-13 15:27:44 -07:00
Evans Hauser
e66f6db413
fix: support Node 6 (#1171) 2018-06-13 14:56:09 -07:00
David Glasser
1fd3b216d0 Remove engineProxy support
We recommend the use of apollo-engine-reporting and the other built-in features
of AS 2.0 rather than engineProxy. You can still use the apollo-engine npm
module manually with AS 2.0, or stay on AS 1.0.
2018-06-13 12:32:05 -07:00
David Glasser
519b6fd056 v2.0.0-beta.9 2018-06-13 11:47:30 -07:00
Evans Hauser
83c866e8d4
core: add graphql-tag as export 2018-06-12 23:13:04 -07:00
Evans Hauser
afcd1709f3
core, integrations: break apart coupling of introspection and gui enable 2018-06-12 23:11:06 -07:00
Evans Hauser
db8eba871f
v2.0.0-beta.8 2018-06-12 17:54:55 -07:00
Evans Hauser
ba31cf7a44
Integrations export their own ApolloServer (#1161)
* feat: ApolloServer is created and exported by all variants

* docs: add initial docs around exporting ApolloServer

* feat: export gql from integrations

* docs: change apollo-server examples to use express with registerServer

* server: remove registerExpressServer

* core, docs: comment functions, fix api reference, context creation more like middleware args

* docs: fix integrationed typo
2018-06-12 17:46:56 -07:00
David Glasser
df8e487368 v2.0.0-beta.7 2018-06-11 18:45:23 -07:00
David Glasser
dbfa57c95d dep on express (there is an import), other tweaks 2018-06-11 18:44:55 -07:00
David Glasser
3e93524ac3 v2.0.0-beta.6 2018-06-11 15:54:01 -07:00
Evans Hauser
a7cd3a43e8 Apollo Server 2:Automatic Persisted Queries (#1149) 2018-06-11 15:44:20 -07:00
David Glasser
ff90e5cf2f upgrade apollo-engine-reporting (better error handling) 2018-06-11 15:19:30 -07:00
Martijn Walraven
e4164c8892 Enable esModuleInterop and fix imports
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html
2018-06-11 14:25:59 +02:00
Martijn Walraven
2f44a42bb8 Remove Object.setPrototypeOf workaround for error subclasses on ES5 2018-06-11 14:00:47 +02:00
Martijn Walraven
4a068cff74 Add engines field with node >= 8 in package.json 2018-06-11 13:21:51 +02:00
Martijn Walraven
0aff6c8c40 Update compilation target to ES2017 and fix issus 2018-06-11 13:06:31 +02:00
Martijn Walraven
1e1b49ec29 Update devDependencies, including typescript 2018-06-11 12:13:03 +02:00
Martijn Walraven
b5eab35807 Remove duplicate common dependencies to avoid Lerna warnings 2018-06-11 11:57:00 +02:00
David Glasser
32968bf5ec Update to apollo-tracing which works with new handler ordering 2018-06-08 12:18:51 -07:00
Clarence Ngoh
5f307928a2 Add BadUserInputError as extension of ApolloError (#1143)
* Add BadUserInputError and TransientError as extensions of ApolloError

* remove TransientError

* update test so that properties end up under `error.extensions.exception`

* update documentation to talk about BadUserInputError

* check for properties after formatApolloErrors has been called

* fixed highlighted lines for docs

* export BadUserInputError from `apollo-server`

* fixed highlighted lines for docs

* export BadUserInputError from `apollo-server`

* update changelog
2018-06-08 10:39:23 -07:00
Evans Hauser
4c6352aad7
v2.0.0-beta.5 2018-06-07 14:50:13 -07:00
Evans Hauser
f9cd6ce7c1
docs: fix comments about gql-tag 2018-06-07 14:21:40 -07:00
David Glasser
b2fb680812 update engine reporting dependencies 2018-06-06 18:32:08 -07:00
Evans Hauser
9e87f405ed
core: add changelog for gql-tag change 2018-06-06 11:36:49 -07:00
Evans Hauser
adfe69cb6a
core: display only first 200 characters of schema on gql error 2018-06-06 11:36:49 -07:00
Evans Hauser
b07b9e8e8b
core,express: export gql tag directly to align with client 2018-06-06 11:02:01 -07:00