Commit graph

22 commits

Author SHA1 Message Date
Sebastian
2acf5654c3 Added an option to support additional extensions
(Originally #934, tweaked by @glasser.)
2018-05-31 00:14:59 -07:00
Evans Hauser
da316908d2
runQuery accepts Request object that variants create (#1108)
* core: runQuery accepts Request object that integrations create

* core: add changelog for Requst in runQuery

* adonis: correct request object passed to runQuery

* core: change convertHttpMessageToRequest to convertNodeHttpToRequest
2018-05-29 21:37:38 -07:00
David Glasser
8b6b0161d1
Be consistent about where GraphQL queries are parsed
runQuery currently takes a `query` argument that is either a string or a
DocumentNode. This means that it's possible to accidentally support syntax we
don't mean to. For example, if you happen to send a JSON-serialized DocumentNode
over the wire, we'll happily execute that, and you'll believe you're using
GraphQL even though you really aren't --- until you try to use some other
GraphQL tool that expects to see the GraphQL query language rather than
graphql-js ASTs.

Additionally, GET requests parse their queries in runHttpQuery rather than
runQuery, leading to inconsistent error handling semantics on parse failures.

Simplify the runQuery API (which is technically exported though intended to be
mostly internal) to take in either a parsedQuery or a queryString argument. The
main use case for knowing about these parameters is if you're using formatParams
with OperationStore; its docs and tests have been updated to reflect this.

Stop parsing queries in runHttpQuery; instead, ensure we throw the right error
for mutations-over-GET by passing the error to throw into runQuery.

Stop accidentally supporting graphql-js ASTs on the wire --- but throw an
informative error when you do so.

This backwards-incompatible change is intended for apollo-server-core 2.0.
2018-05-24 15:47:09 -07:00
Evans Hauser
23f5b76f10
apollo-server-core: ApolloError extends Error and implements GraphQLError 2018-05-21 15:41:36 -07:00
Evans Hauser
2a510039ec
apollo-server-core: internalFormatError to formatApolloError 2018-05-11 15:53:16 -07:00
Evans Hauser
f6eece6294
apollo-server-core: move logging into separate file 2018-05-11 15:53:16 -07:00
Evans Hauser
8fdbfcd8c8
apollo-server-core: remove unused function printStackTrace 2018-05-11 15:53:15 -07:00
Evans Hauser
6b2e600a97
apollo-server-core: remove stack traces print and include response in logging function 2018-05-11 15:53:15 -07:00
James Baxley
68dec79529
clean up and move pieces around 2018-05-11 15:53:14 -07:00
Evans Hauser
d88100aca8
errors: change formatError to internalFormatError and fix when user defines formatError 2018-05-11 15:53:10 -07:00
Evans Hauser
cb09fef524
Errors: latest codes and add exports to the apollo-server package 2018-05-11 15:53:10 -07:00
Evans Hauser
35a5858125
errors: change INTERNAL_ERROR to INTERNAL_SERVER_ERROR, matching http errors 2018-05-11 15:53:09 -07:00
Evans Hauser
0e68e2ec4f
errors: send stack in debug, codes, make ApolloErrors 2018-05-11 15:53:07 -07:00
David Glasser
7d1165f1e0
All: allow cacheControl: {defaultMaxAge: 5}. (#922) 2018-03-28 13:56:22 -07:00
Marvin Hagemeister
9e8984c2ee Inline all possible functions that are used only once (#821)
* Inline isFunction type-guard

* Don't redefine functions on doRunQuery

* Update CHANGELOG
2018-03-12 21:25:12 +02:00
Laurin Quast
df51fd90da Setup prettier (#724)
* Setup prettier and precommit hooks

* Format code with prettier

* Use husky because it works...

* Move prettier config to .prettierrc file

* Implement fixing markdown file formatting when running lint-fix script

* Format markdown files

* Add .json file formatting

* Fixes json file formatting

* Add pretteir linting step

* Remove tslint

* Use gitignore for prettier

* Fix linting errors

* Ignore submodule folder
2018-01-08 15:08:01 -08:00
Dom Armstrong
a8ae9042f5 Fix apollo-server-core runQuery breaks async_hook tracking (#733)
By creating a promise out of the execution flow the ability to trace the
async call stack is lost.
2017-12-22 05:46:02 +01:00
Martijn Walraven
4b8f3b258e Fix execution with graphql-js 0.12.x
This fixes executing a query if all fields it encounters have synchronous resolvers, for which behavior changed in 0.12.x due to graphql/graphql-js#1115.

Closes #718, closes #720
2017-12-18 07:24:33 +01:00
Martijn Walraven
818ddfa3bd Add support for Apollo Cache Control 2017-10-24 09:09:08 -07:00
Martijn Walraven
19e365f044 Add tracing support (#490) 2017-08-09 16:57:17 +02:00
Mikhail Novikov
c51fc65da8 Add ability to provide default field resolvers (#482) 2017-08-02 12:20:10 +02:00
Martijn Walraven
300c0cd12b Rename packages from graphql-server- to apollo-server- (#465) 2017-07-17 16:29:40 -07:00
Renamed from packages/graphql-server-core/src/runQuery.ts (Browse further)