Commit Graph

421 Commits

Author SHA1 Message Date
Vladimir Razuvaev
9931cde6d4 Tests for lazy type loading during query execution + related changed 2017-08-15 01:49:56 +07:00
Vladimir Razuvaev
e4813c3a05 Additional checks and tests for situations when user-land code returns duplicate type instances 2017-08-14 23:52:17 +07:00
Vladimir Razuvaev
8817d54e83 Validate that type loader always returns the same type instance as referenced in other parts of the schema 2017-08-14 22:32:07 +07:00
Vladimir Razuvaev
b9d3a11785 Extracted lazy schema test; minor related refactoring 2017-08-14 20:41:08 +07:00
Vladimir Razuvaev
f47db61907 Fully load all schema types in constructor when type loader is not set 2017-08-14 19:44:16 +07:00
Vladimir Razuvaev
884a8967f3 Type loader tests 2017-08-14 19:42:01 +07:00
Vladimir Razuvaev
20f8cab943 Removed schema descriptor (as lazy loading of types can work without it now) 2017-08-14 01:42:02 +07:00
Vladimir Razuvaev
f9eb14869f Removed callbacks in field types (previously deprecated in #35) 2017-08-14 00:50:24 +07:00
Vladimir Razuvaev
6845b28a35 Deprecated GraphQL\Type\Definition\Config (#148) 2017-08-14 00:09:02 +07:00
Vladimir Razuvaev
ed3591c1a9 Fixed broken build 2017-08-13 23:24:23 +07:00
Vladimir Razuvaev
34eae0b891 Schema validation + tests (#148) 2017-08-13 23:04:03 +07:00
Vladimir Razuvaev
d3580e959e Moved Schema to GraphQL\Type namespace (but preserved BC) 2017-08-12 21:40:03 +07:00
Vladimir Razuvaev
2c8c7baa87 Writing UPGRADE.md 2017-08-12 16:31:35 +07:00
Vladimir Razuvaev
f911fac7b1 Default error reporting now includes "category" key for every error 2017-08-08 02:02:07 +07:00
Vladimir Razuvaev
09070485c1 Added ability to decorate type configs in BuildSchema + made type creation lazy 2017-07-28 17:55:25 +07:00
Vladimir Razuvaev
3a8301f6c6 Allow types schema option to be callable 2017-07-28 17:53:57 +07:00
Vladimir Razuvaev
6a20483b87 Server: Ability to use thunk for root value and context 2017-07-27 20:11:45 +07:00
Vladimir Razuvaev
e7838d2253 Do not output trace for trivial errors even in debug mode 2017-07-25 20:08:34 +07:00
Vladimir Razuvaev
3e6f2c9e83 Fixed minor bugs 2017-07-25 19:26:41 +07:00
Vladimir Razuvaev
1af902865b AST: new NodeList class for collections of nodes (vs array) to enable effective conversion of libgraphqlparser output to our AST tree 2017-07-21 22:29:59 +07:00
Vladimir Razuvaev
e04d3300a7 Server: send result for regular responses + prepare response for PSR7 request 2017-07-21 22:11:20 +07:00
Vladimir Razuvaev
b2ec265d4f Server: ability to execute PSR7 request 2017-07-19 23:35:22 +07:00
Vladimir Razuvaev
87c812b221 Better located error handling 2017-07-19 20:08:42 +07:00
Vladimir Razuvaev
81986145fe Server: moving things around to simplify 2017-07-19 19:55:22 +07:00
Vladimir Razuvaev
08a68d4857 Throwing GraphQL\Error\Error vs GraphQL\Error\UserError from type definitions 2017-07-19 19:39:10 +07:00
Vladimir Razuvaev
e6e531b88b Server: throw only when there is a configuration or logic error (invariant violation) 2017-07-19 19:30:39 +07:00
Vladimir Razuvaev
90088c7bde Note in UPGRADE.md about new base class of GraphQL\Error\UserError 2017-07-19 15:52:00 +07:00
Vladimir Razuvaev
38922dbbed Default error formatter now returns "Internal server error" unless error is client-aware and safe to report directly to end-users 2017-07-18 20:57:30 +07:00
Vladimir Razuvaev
fbcd20814a Scalar type serialize method now throws InvariantViolation and parseValue throws UserError 2017-07-18 20:52:39 +07:00
Vladimir Razuvaev
8e3d1eb29b Merge branch 'master' of https://github.com/webonyx/graphql-php into v0.10 2017-07-18 00:42:52 +07:00
Vladimir Razuvaev
8fe26a1a21 String and ID types should not try to convert non-scalar values to string (#121) 2017-07-18 00:25:45 +07:00
Vladimir Razuvaev
49208d758d Server: use proper batching helper 2017-07-17 23:48:30 +07:00
Vladimir Razuvaev
919cf80240 Server: batched queries with shared deferreds (promises) #105 2017-07-17 20:31:26 +07:00
Vladimir Razuvaev
24ffd605f4 New method "Executor::promiseToExecute()" which always returns promise (even for SyncPromiseAdapter) 2017-07-17 19:47:29 +07:00
Vladimir Razuvaev
0e2ac57515 Split HTTP server execution to canonical replaceable steps: parsing, validation, execution with separate tests for each step 2017-07-17 16:57:30 +07:00
Vladimir Razuvaev
f8c3195e54 Granular methods for HTTP request parsing + tests 2017-07-16 19:04:58 +07:00
Vladimir Razuvaev
d2cbb0c354 Restored tests for deprecated GraphQL\Server 2017-07-14 20:06:24 +07:00
Vladimir Razuvaev
794d3672ef Initial pass on standard server implementation (also deprecated current GraphQL\Server which is undocumented anyway) 2017-07-14 19:44:18 +07:00
Vladimir Razuvaev
a3b40db0fb Enhanced Utils::printSafe() to output more information about arrays 2017-07-14 15:16:43 +07:00
Vladimir Razuvaev
3f04d29628 Ability to pass custom set of validation rules when executing a query (including empty set to skip validation) #134 2017-07-13 20:33:09 +07:00
Vladimir Razuvaev
37a42ededd Query validation should pass if empty array of rules is provided 2017-07-13 02:39:24 +07:00
Vladimir Razuvaev
65d9472b0b Moved PromiseAdapter to ExecutionContext; allow passing it to Executor::execute() directly vs setting statically 2017-07-12 19:44:04 +07:00
Vladimir Razuvaev
bf0a7a8e2b Change minimum PHP version requirement from 5.4.0 to 5.5.0 (to enable try-finally and generators) 2017-07-12 17:46:43 +07:00
Vladimir Razuvaev
aaa5b7af41 Global config; descriptor moved to appropriate namespace; minor cleanup 2017-07-12 13:16:34 +07:00
Vladimir Razuvaev
5e6acb60a6 Merge pull request #142 from symm/shorthand-docs
Add example for building schema from IDL
2017-07-11 21:49:49 +07:00
Gareth Jones
81376e7c34
Document shorthand usage 2017-07-10 21:14:34 +01:00
Vladimir Razuvaev
296544089c Moved GraphQL\Utils to GraphQL\Utils\Utils 2017-07-10 19:53:46 +07:00
Vladimir Razuvaev
ed28deda81 Replaced trigger_error with Warning for resolveType warning 2017-07-10 19:38:12 +07:00
Vladimir Razuvaev
9551569ffe Merge branch 'lazy-types' into v0.10
# Conflicts:
#	src/Executor/Executor.php
2017-07-10 17:11:41 +07:00
Vladimir Razuvaev
463d995d95 Reverted #116 (now Executor::defaultFieldResolver checks for instanceof Closure vs is_callable again) 2017-07-08 15:22:17 +07:00