mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-18 13:02:11 +03:00
08da0c63b6
Resolves Issues: * https://github.com/hasura/graphql-engine-mono/issues/658 - Invalid Slashes * https://github.com/hasura/graphql-engine-mono/issues/628 - Subscriptions Implementation: * Moved some logic from Endpoint.hs to allow reuse of splitting url into PathSegments. * Additional validation steps alongside checking for overlapping routes * Logging potential misuse of GET for mutations Future Work: * [ ] GET is allowed for mutations (Ignore/Log warning for Now) * [ ] Add to scInconsistentObjs rather than throwing error * Add information to scInconsistentObjs instead of raising errors directly. TODO: * [x] Duplicate variable segments with the same name in the location should not be allowed * [x] We should throw an error on trailing and leading slashes and URLs which contain empty segments * [x] Endpoints can be created using subscriptions. But the error only shows at the time of the query * [x] Tests --- ### Kodiak commit message Prohibit Invalid slashes, duplicate variables, subscriptions for REST endpoints. GitOrigin-RevId: 86c0d4af97984c8afd02699e6071e9c1658710b8
32 lines
746 B
YAML
32 lines
746 B
YAML
description: Try to add an endpoint with duplicate params
|
|
url: /v1/query
|
|
status: 400
|
|
response:
|
|
internal:
|
|
- definition:
|
|
definition:
|
|
query:
|
|
collection_name: test_collection
|
|
query_name: simple_subscription
|
|
url: foo/bar/subscribe
|
|
methods:
|
|
- GET
|
|
name: foo
|
|
comment:
|
|
reason: 'in endpoint foo: query with name simple_subscription is a subscription'
|
|
type: endpoint
|
|
path: $.args
|
|
error: cannot continue due to new inconsistent metadata
|
|
code: unexpected
|
|
query:
|
|
type: create_rest_endpoint
|
|
args:
|
|
url: "foo/bar/subscribe"
|
|
name: foo
|
|
methods:
|
|
- GET
|
|
definition:
|
|
query:
|
|
collection_name: test_collection
|
|
query_name: simple_subscription
|