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
|
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
|
e6e531b88b
|
Server: throw only when there is a configuration or logic error (invariant violation)
|
2017-07-19 19:30:39 +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
|
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
|
919cf80240
|
Server: batched queries with shared deferreds (promises) #105
|
2017-07-17 20:31:26 +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
|
37a42ededd
|
Query validation should pass if empty array of rules is provided
|
2017-07-13 02:39:24 +07:00 |
|
Vladimir Razuvaev
|
aaa5b7af41
|
Global config; descriptor moved to appropriate namespace; minor cleanup
|
2017-07-12 13:16:34 +07: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 |
|
Vladimir Razuvaev
|
3beeb06340
|
Merge branches 'master' and 'v0.10' of https://github.com/webonyx/graphql-php into v0.10
# Conflicts:
# src/Utils/MixedStore.php
|
2017-07-06 19:50:23 +07:00 |
|
Vladimir Razuvaev
|
bc6a7a3d1d
|
Fix: allow MixedStore to accept true, false, null and floats as keys + related tests
|
2017-07-06 19:29:33 +07:00 |
|
Vladimir Razuvaev
|
24bcc65314
|
SchemaPrinter: reverted sorting of fields in printed version (as it breaks s = parse(print(s)) rule)
|
2017-07-05 19:45:02 +07:00 |
|
Vladimir Razuvaev
|
a79a51d445
|
Schema Parsing: allow leading pipe for union type definitions
|
2017-07-05 19:01:13 +07:00 |
|
Vladimir Razuvaev
|
30632050a5
|
Validation: added test cases to check support for good negative floats and ints
|
2017-07-05 18:35:45 +07:00 |
|
Vladimir Razuvaev
|
0b7d55c30d
|
SchemaPrinter: sort fields before printing to get more stable diff
|
2017-07-05 18:33:16 +07:00 |
|
Vladimir Razuvaev
|
9b9a74c1d1
|
Spec compliance: errors in buildExecutionContext() are caught and included in result rather than thrown
|
2017-07-05 17:33:59 +07:00 |
|
Vladimir Razuvaev
|
78d9ba0d5e
|
Allow providing default field resolver for execution call
|
2017-07-05 16:22:01 +07:00 |
|
Vladimir Razuvaev
|
b47c87f793
|
Allow null values for enums
|
2017-07-04 20:19:52 +07:00 |
|
Vladimir Razuvaev
|
f569c6de2d
|
Spec compliance: coercion of Int values
|
2017-07-04 18:27:20 +07:00 |
|
Vladimir Razuvaev
|
90e1ea4d22
|
Added tools for warnings with ability to suppress them
|
2017-07-04 17:13:05 +07:00 |
|
Vladimir Razuvaev
|
1c41fb27ed
|
Added test for enums with null values
|
2017-07-04 16:27:40 +07:00 |
|
Vladimir Razuvaev
|
76e182e616
|
Forbid duplicate type definitions
|
2017-07-04 14:01:00 +07:00 |
|
Vladimir Razuvaev
|
c3db8de9e7
|
Note about dunderscore becoming hard error in next version
|
2017-07-04 13:58:56 +07:00 |
|
Vladimir Razuvaev
|
c5484ae6f9
|
Convert error to warning for non-compliant usage of __ in names
|
2017-07-04 00:28:17 +07:00 |
|
Vladimir Razuvaev
|
34bd378c7e
|
Refactored executor logic related to isTypeOf
|
2017-07-04 00:09:32 +07:00 |
|
Vladimir Razuvaev
|
29c1132554
|
getValue() for EnumType (and getEnumValue() for TypeInfo)
|
2017-07-03 23:23:12 +07:00 |
|
Vladimir Razuvaev
|
d64c352262
|
Ability for interface types to resolve type asynchronously
|
2017-07-03 23:08:20 +07:00 |
|
Vladimir Razuvaev
|
445f579f09
|
Include expected type in isValidPHPValue error message
|
2017-07-03 18:24:58 +07:00 |
|
Vladimir Razuvaev
|
7937b15855
|
Fixed several typos
|
2017-07-03 18:04:32 +07:00 |
|
Vladimir Razuvaev
|
b471938f16
|
Consistent validation of type names + reject names starting with __
|
2017-07-03 18:04:08 +07:00 |
|
Vladimir Razuvaev
|
b147b528e2
|
Merge branch 'v0.10' of https://github.com/webonyx/graphql-php into v0.10
|
2017-06-27 16:41:31 +07:00 |
|
Vladimir Razuvaev
|
21e3445754
|
Merge pull request #116 from leocavalcante/resolve-callables
Resolve callables by default
|
2017-06-27 00:37:30 +07:00 |
|
Vladimir Razuvaev
|
1657f0e9bd
|
Merge branch 'master' into v0.10
|
2017-06-26 17:47:36 +07:00 |
|
Daniel Tschinder
|
65ef159ddc
|
Support PHP7 error exceptions everywhere
Also replace \Error with \Throwable
|
2017-06-25 07:33:28 -07:00 |
|
Laurin Quast
|
6d6d1ac01b
|
Adds tests for DisableIntrospection Validation rule
|
2017-06-17 14:49:07 +02:00 |
|
Vladimir Razuvaev
|
bc4b990946
|
Do not run query complexity validation if there were other validation errors (as it will throw and mess up previous validation results), see #125
|
2017-06-03 17:07:01 +07:00 |
|
Jeremiah VALERIE
|
6d5b4e5a37
|
Use dedicated exception for scalar type parsing error
|
2017-05-29 10:32:48 +02:00 |
|
leocavalcante
|
8a5f337469
|
Extract anonymous class
|
2017-05-07 19:42:59 -03:00 |
|
leocavalcante
|
e07c86bd5e
|
Default resolve callables
|
2017-05-07 19:21:20 -03:00 |
|
Pascal de Vink
|
11a1b13b72
|
Use directives to calculate query complexity
|
2017-04-24 14:21:58 +02:00 |
|
Decebal Dobrica
|
ca92ae4688
|
pass failing test
|
2017-03-16 15:41:29 +00:00 |
|
Decebal Dobrica
|
0bedebe392
|
fragment type caps
|
2017-03-16 15:09:09 +00:00 |
|
Decebal Dobrica
|
c51dda097a
|
fix tests typo
|
2017-03-16 15:00:01 +00:00 |
|
Decebal Dobrica
|
b9550d3ecb
|
replies aliased
|
2017-03-16 14:44:21 +00:00 |
|
Decebal Dobrica
|
7bed5ef4a8
|
add replies fragments
|
2017-03-16 14:43:47 +00:00 |
|
Vladimir Razuvaev
|
f77bd17eba
|
ResolveInfo: Take in account inline fragments in getFieldSelection()
|
2017-03-10 19:21:27 +07:00 |
|
Vladimir Razuvaev
|
ce9bf33f20
|
Ability to load types in schema on demand (#69)
|
2017-03-05 03:26:22 +07:00 |
|
Vladimir Razuvaev
|
3f909e3e11
|
Separate utility for extractTypes
|
2017-02-24 16:29:28 +07:00 |
|
Vladimir Razuvaev
|
416733b4db
|
Separate utility for extractTypes
|
2017-02-24 16:22:33 +07:00 |
|
Bernhard Schussek
|
e35b57601d
|
Fixed SyncPromiseAdapter::all() to not change the order of arrays
|
2017-02-23 11:45:13 +01:00 |
|
petecoop
|
fc629a292d
|
BuildSchema and SchemaPrinter
|
2017-02-19 19:26:56 +00:00 |
|
Adam Dumas
|
97674cbbb9
|
Fixed Utils::assign() bug relating to detecting missing required keys
|
2017-02-13 12:50:34 -05:00 |
|
jane-olszewska
|
008fd20498
|
Added test for adding a schema element description in comments
|
2017-02-06 19:11:12 +00:00 |
|
jane-olszewska
|
dd31ab2b80
|
Added a description field to schema type definition classes
|
2017-02-06 18:33:18 +00:00 |
|
vladar
|
b4e6630c1d
|
PHPUnit: Replaced deprecated method getMock() with getMockBuilder()
|
2017-01-26 18:48:23 +07:00 |
|
vladar
|
e2875953e1
|
Tests for new GraphQL\Server facade
|
2017-01-19 19:23:00 +07:00 |
|
vladar
|
ceaf798b07
|
Merge branch 'master' of https://github.com/webonyx/graphql-php
|
2016-12-23 22:42:05 +07:00 |
|
Juuso Leinonen
|
8626e0b45d
|
Make tests run on php 5.4
|
2016-12-22 15:35:38 +02:00 |
|
Juuso Leinonen
|
90c4b5d9fa
|
Changed ReactPromiseAdapter::all to preserve the array key order and added tests
|
2016-12-22 15:08:28 +02:00 |
|
vladar
|
296cc7530d
|
Added Server class as a new facade for library, including HTTP endpoint compatible with express-graphql format
|
2016-12-19 20:40:46 +07:00 |
|
vladar
|
ff3a40d329
|
Execution: modified deferred behavior to be more predictable (+added more tests for them)
|
2016-12-17 05:14:51 +07:00 |
|
vladar
|
2043cc7e75
|
Introduced type resolution strategies: eager and lazy (for #69)
|
2016-12-14 17:12:09 +07:00 |
|
vladar
|
ae57a72461
|
Deleted unused SchemaValidator
|
2016-12-08 06:05:40 +07:00 |
|
vladar
|
90e29ac704
|
Fixing tests for HHVM
|
2016-12-08 04:50:33 +07:00 |
|
vladar
|
51d816d280
|
Tests for Config
|
2016-12-08 04:16:13 +07:00 |
|
vladar
|
c5bba0e7d4
|
Cleaning up old unused messages
|
2016-12-06 03:45:52 +07:00 |
|
vladar
|
a165c3aaab
|
Shortened method names of PromiseAdapter
|
2016-12-04 15:53:23 +07:00 |
|
vladar
|
26db4c76c6
|
Fixed tests for PHP7+
|
2016-12-03 04:31:01 +07:00 |
|
vladar
|
fd335a1d13
|
Execution: tests are green
|
2016-12-03 04:23:21 +07:00 |
|
vladar
|
7ab75cd05a
|
Execution: tests are green
|
2016-12-03 04:11:14 +07:00 |
|
vladar
|
ab4ae779af
|
Execution: fixed rejection issue in sync promise
|
2016-12-03 02:48:51 +07:00 |
|
vladar
|
e97ca7f971
|
Execution: added SyncPromiseAdapter and made it default for Executor (+removed GenericPromiseAdapter)
|
2016-12-03 02:14:14 +07:00 |
|
vladar
|
3a375bb78e
|
Simple implementation of Promises A+ for our sync case (using queue)
|
2016-12-02 18:43:54 +07:00 |
|
Jeremiah VALERIE
|
76c31df1af
|
Add Executor Promise tests
|
2016-11-26 23:51:42 +01:00 |
|
Jeremiah VALERIE
|
35d7d83088
|
Add Lists Promise tests
|
2016-11-26 22:28:46 +01:00 |
|
Jeremiah VALERIE
|
7f1e9d051b
|
Add Mutation Promise tests
|
2016-11-26 20:50:01 +01:00 |
|
Jeremiah VALERIE
|
2ad79adf0c
|
Add NonNull Promise tests
|
2016-11-26 20:50:01 +01:00 |
|
vladar
|
63d44fe002
|
Disabled deprecation notice for ResolveInfo->fieldASTs (until next version)
|
2016-11-19 17:37:54 +07:00 |
|
vladar
|
660200ed50
|
GraphQL\Language\AST\NodeType -> GraphQL\Language\AST\NodeKind
|
2016-11-19 17:31:47 +07:00 |
|
vladar
|
04550f805f
|
Differentiate between input values with no default and with default = null
|
2016-11-19 17:21:22 +07:00 |
|
vladar
|
5a17ae8246
|
Clearer lexer errors
|
2016-11-19 17:08:20 +07:00 |
|
vladar
|
0ab55ec0d9
|
Replaced "AST" with "Node" in variable names for better readability
|
2016-11-19 06:47:55 +07:00 |
|
vladar
|
8d696edee5
|
Renamed AST nodes to *Node to disambiguate types
|
2016-11-19 06:12:18 +07:00 |
|
vladar
|
439959b292
|
Enforce input coercion rules
|
2016-11-19 04:15:40 +07:00 |
|
vladar
|
f672f0c90c
|
Added validation rule for unique directives per location
|
2016-11-19 00:21:56 +07:00 |
|
vladar
|
8a676cde99
|
Support for NullValue
|
2016-11-18 23:59:28 +07:00 |
|
vladar
|
9bf8e82d7c
|
Minor fix to StarWarsSchema type language in comments
|
2016-11-18 20:32:09 +07:00 |
|
vladar
|
5d889ccacd
|
Reverted several breaking changes from #75; tests are green
|
2016-11-16 18:37:35 +07:00 |
|
Andreas Heiberg
|
d8ca5f4183
|
move to NodeType enum
|
2016-11-16 18:07:56 +07:00 |
|
Andreas Heiberg
|
46788f2ddb
|
move NodeTypes enum to seperate class
|
2016-11-16 18:02:58 +07:00 |
|
Andreas Heiberg
|
3c98963f72
|
remove static functions from Printer
|
2016-11-16 17:22:57 +07:00 |
|
vladar
|
3b0e52f254
|
Updated AST Utils to match the behavior of reference implementation
|
2016-11-02 00:11:33 +07:00 |
|
vladar
|
e56eb6e10d
|
Replaced \UnexpectedValueException with GraphQL\Error\InvariantViolationException; Improved some instanceof checks
|
2016-11-01 23:40:37 +07:00 |
|
vladar
|
e4fa881cc3
|
Infer type name from class name for those using inheritance
|
2016-10-23 21:32:54 +07:00 |
|
vladar
|
c11f25794a
|
Deprecated callbacks in "type" option of field/argument definitions (see #35)
|
2016-10-23 00:49:25 +07:00 |
|
vladar
|
9964c88f32
|
Updated StarWars tests
|
2016-10-23 00:46:15 +07:00 |
|
vladar
|
f443c6b1ba
|
Fixed broken test
|
2016-10-22 17:29:18 +07:00 |
|
vladar
|
276a58f6d1
|
Reverted one minor breaking change
|
2016-10-22 17:19:40 +07:00 |
|
vladar
|
a612b780c9
|
Return stdClass vs empty array for empty ObjectType values (see #59)
|
2016-10-22 17:16:47 +07:00 |
|
vladar
|
2675b65095
|
Moved all error-related classes to separate namespace; fixed related broken tests
|
2016-10-21 16:40:56 +07:00 |
|
vladar
|
6d7a4a4f34
|
Fixed tests broken by recent changes to serialized error format
|
2016-10-21 15:28:24 +07:00 |
|
vladar
|
3ba187ec04
|
Added missing one-line shorthand for field arguments
|
2016-10-21 00:06:34 +07:00 |
|
vladar
|
5148c3bf03
|
Allow one-liner shorthand for field definitions (#47)
|
2016-10-20 19:09:48 +07:00 |
|
vladar
|
09cc313072
|
Allow to define enum values by simply passing array of strings, e.g. 'values' => ['ONE', 'TWO', 'THREE']
|
2016-10-20 19:01:30 +07:00 |
|
vladar
|
0a79be8409
|
Updated introspection query and related tests for recent changes
|
2016-10-19 01:35:18 +07:00 |
|
vladar
|
236021acf8
|
Added deprecated directive; changed custom directives handling in schema; various minor tweaks
|
2016-10-19 01:34:46 +07:00 |
|
vladar
|
7625d6abf1
|
Scalar serialization now throws on spec-incompatible values vs returning null
|
2016-10-19 01:23:38 +07:00 |
|
vladar
|
0a182ac53c
|
Improved enums (now they can handle complex values)
|
2016-10-19 01:21:47 +07:00 |
|
vladar
|
7f22d4b874
|
Spec compliance improvement: data key should not exist in response when it is null / missing (#56)
|
2016-10-18 22:25:39 +07:00 |
|
vladar
|
3e2d9459aa
|
resolveType for interface/unions is now allowed to return type name vs instance
|
2016-10-18 22:23:20 +07:00 |
|
vladar
|
89eb6dede9
|
Breaking change when returning Closure from resolver: this closure is expected to have different signature now (shouldn't affect most of the users)
|
2016-10-18 22:20:51 +07:00 |
|
vladar
|
a94640f9d2
|
Enabled GraphQL\Error to include path to failed value during execution step (not location in source query, but exact path to value, including index in array, etc) + tests for errors
|
2016-10-18 22:15:21 +07:00 |
|
vladar
|
c0f7ec099d
|
Several executor tests
|
2016-10-18 20:30:15 +07:00 |
|
vladar
|
cd14146032
|
Updated parser to consume latest lexer; New public parser API methods: parseType and parseValue; added directives to schema parser/printer
|
2016-10-17 02:57:24 +07:00 |
|
vladar
|
3eeb4d450b
|
Reworked lexer: tokens are now represented as double linked list
|
2016-10-17 02:53:50 +07:00 |
|
vladar
|
f9e97ea296
|
Fixed several broken tests
|
2016-09-14 19:36:10 +07:00 |
|
vladar
|
2c50c51432
|
Fixed issue in lazy interface test where query type definition incorrectly initialized type that was supposed to be tested for laziness
|
2016-09-14 18:47:34 +07:00 |
|
vladar
|
1f71ffc3fc
|
Added test to catch regressions in lazy interface declarations (see #38)
|
2016-09-14 18:47:34 +07:00 |
|
vladar
|
26db43e7c4
|
Enabled subscriptions in executor
|
2016-09-14 18:47:34 +07:00 |
|
vladar
|
c3d7a49a08
|
Updated executor and it's tests for april2016 specs
|
2016-09-14 18:47:34 +07:00 |
|
vladar
|
00f12b3197
|
Fixed definition tests; added enum tests
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
183a9d72cf
|
Introspection for april 2016 spec + fixed tests
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
e7c7924dc0
|
New AST utils + test
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
e82f887918
|
Fixed visitor; more visitor tests
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
3dec7a9995
|
Test complete validation
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
800d8ba25f
|
Continue updating validator rules for april2016 spec
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
f1ddc98390
|
Updating validator rules for april2016 spec
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
17081cec1c
|
More AST visitor tests
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
687b023616
|
Schema language parsing / printing
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
4f4776726d
|
Updated parser to 2016 spec version; schema language parsing
|
2016-09-14 18:41:02 +07:00 |
|
vladar
|
c053169671
|
Updated Lexer and LexerTest to april 2016 spec
|
2016-09-14 18:41:02 +07:00 |
|
Matthew Leverton
|
7c6f216578
|
Change Lexer::readString to decode escaped characters to their literal values
|
2016-07-14 13:32:57 -05:00 |
|
Jeremiah VALERIE
|
3ae6c73367
|
Removed memoization on executor resolveField (see #43)
|
2016-06-10 11:57:43 +02:00 |
|
Jeremiah VALERIE
|
be46b14441
|
Fix ResolveInfo::getFieldSelection() when using multiple fragments on the same field.
|
2016-05-18 16:20:53 +02:00 |
|
Jérémiah VALERIE
|
327cc52601
|
Add ExecutionResult $extensions
https://facebook.github.io/graphql/#sec-Response-Format
|
2016-04-25 14:44:08 +02:00 |
|
vladar
|
4d024ee85e
|
Test for lazy interface initialization + minor related tweak
|
2016-04-20 18:04:11 +06:00 |
|
Jeremiah VALERIE
|
545fe616a0
|
Add Complexity and Depth Query Security
|
2016-04-09 15:31:07 +02:00 |
|
Jeremiah VALERIE
|
1bc5e0c9da
|
Use PSR-4 Autoloader for tests
|
2016-04-09 14:14:40 +02:00 |
|
vladar
|
68d8681983
|
#30 Fixed recursion bug in ResolveInfo::getFieldSelection()
|
2016-04-01 16:30:52 +06:00 |
|
vladar
|
201fb7754f
|
Additional test case for input type fields definition as closure
|
2016-02-27 12:30:45 +06:00 |
|