Skip to content
This repository was archived by the owner on Jan 20, 2024. It is now read-only.
This repository was archived by the owner on Jan 20, 2024. It is now read-only.

ospreyMethodHandler does not handle request.queryString #68

Description

@trev-gulls

RAML 1.0 and AML-AMF WebApi allow query string parameters to be defined as either queryParameters xor queryString.

RAML 1.0 defines queryParameters as a properties declaration list and queryString as a type or type expression.
https://nicedoc.io/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md#query-strings-and-query-parameters

AML AMF WebApi models a request with properties queryParameters: Parameter[] and queryString: Shape.
https://github.com/aml-org/amf/blob/develop/documentation/model.md#request

webapi-parser.Operation.Request has properties queryParameters: Parameter[] and queryString: Shape.
https://github.com/raml-org/webapi-parser/blob/494156d904f813cc5edfa6215b0a265e7589d9c5/js/module/typings/amf-client-js.d.ts#L1333-L1343

ospreyMethodHandler does not handle method.request.queryString.
This can cause all query string parameters to be discarded if the original RAML used the queryString node.

if (hasRequest && method.request.queryParameters.length > 0) {
middleware.push(queryHandler(method.request.queryParameters, options))
} else if (options.discardUnknownQueryParameters) {
debug(
'%s %s: Discarding all query parameters: ' +
'Define "queryParameters" to receive parameters',
methodName,
path
)
middleware.push(ospreyFastQuery)
}
return compose(middleware)
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions