Skip to content
This repository was archived by the owner on Mar 18, 2019. It is now read-only.

Improved HTTP transport handling of query parameters #48

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

ryanolf
Copy link

@ryanolf ryanolf commented Apr 1, 2018

I am using coreapi to interact with an api that provides links in responses, that at times I would like to follow using the Client.get() method. These links include query parameters at times. A common example is listing paginated entries, wherein the page number for the "next" page may be a query parameter.

This pull request includes a minor change to the URL parser that allows it to combine query parameters that already exist in the url with those specified separately. This behavior is consistent with the python client.

I also included two tests: one with and one without query parameters specified outside the URL.

@ryanolf
Copy link
Author

ryanolf commented Apr 1, 2018

I suppose this should more properly be titled "HTTP transport will respect query parameters in the url string." The use case I had in mind was via client.get(), since I think typically schemas aren't specifying query strings in their urls, and it's reasonable to expect that client.get() will not drop the querystring from the URL, which is the current behavior.

@ryanolf ryanolf changed the title Client.get() will respect existing query parameters in url Improved HTTP transport handling of query parameters May 1, 2018
@ryanolf
Copy link
Author

ryanolf commented May 1, 2018

Now including fix for issue #36 by supplying a custom querystringify function to the URL parser. The function passed is based on the default but checks for array types and splits them.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant