* Adds python-experimental generator
* Adds python-experimental samples folder which uses its own v2 spec
* Adds enusre-up-to-date updates
* Removes samples/client/petstore/perl/t/AnotherFakeApiTest.t
* Removes comment line from python-experimental generator
* Reverts perl docs file
* Updates perl sample client
* Adds python-experimental to pom.xml
* Copies the python test foldeers tests and testfiles into python-experimental
* Copies python test folder into python-experimental
* Moves python testing from Travis (samples pom.xml profile) to Circlci (samples.circleci pom.xml profile)
* Adds python-experimental pom.xml
* Adds python-experimental makefile and .sh files
* Chenges python-experimental to use gitignored venv rather than .venv which is not ignored when testing
* Adds dev-requiremnts.txt and removes .travis.yml from python-experimental so CI tests will pass
* Moves python-experimental from CicleCI to Travis to get support for multiple python environments
* Updates generator java comment so CI tests will run over again
* Set error_reporting(E_ALL) in phpunit.xml settings, so that undefined variables will always cause a test failure
* Update petstore sample for php-laravel
* feat(r): Added handling exception with ApiException class and document generation
* feat(r):enhancements to exception handling and documentation
* fix(r): fixes and reverting the man folder
* fix(r): minor fix of import statement
* fix(r): generated the docs file
* fix(r) minor doc casing fixes
* feat(r): Inclusion of useragent timeout and serialization
* fix(r): fixing name of timeout parameter
* fix(r): fixing unit tests
* fix(r): fixing minor issues
* fix(r): updated r petstore batch command
* fix(r): minor unit test fix
* fix(r): refactor of useragent passing and other minor
* feat(typescript-rxjs): change BaseAPI to arrow functions, use shorthands where possible
* feat(typescript-rxjs): replace null checking with throwIfRequired helper function in api controllers
* feat(typescript-rxjs): use shorthand syntax for object creation of query and header params
* feat(typescript-rxjs): provide fallback for previously exported RequiredError and querystring
* refactor(typescript-rxjs): change order of query and headers definition
* feat(typescript-rxjs): regenerate samples
* fix(typescript-rxjs): missing closing curly
* fix(typescript-rxjs): add condition to prevent undefined parameters in header or query params
* [Go][Client] Ensure test errors don't crash
Previously we did not interrupt execution of a test case
when an error was returned from an API call. This was
causing the tests to crash as soon as we try to
dereference the response.
We now fail the tests as soon as the first API error
is received.
* [Go][Client] Use configured Scheme and Host in requests
Previously we were simply setting the Host header and
completely ignoring the configured scheme.
* Add Flow import to kotlin spring reactive
* Add runBlockingTest to api tests
* Add kotlin-springboot-petstore-server-reactive.sh to ensure-up-to-date
* add reactive check for runBlockingTest
* Samples
* feat(csharp-documentation): Improving documentation and example
* feat(csharp-documentation): Updating pet project
* feat(csharp-documentation): Minor updates
* feat(csharp-documentation): Updating pet project
* feat(csharp): Updating pet project
* feat(csharp-netcore): Updating pet project
* feat(r): fixing serialization and deserialization issues
* feat(r): pet store file generated with serialization fixes
* fix(r): updated the query params with keyname in get request
* fix(r):fix issue with package name and other minor
* fix(r): fixing unit tests
* feat(r): adding api calls WithHttpInfo method
* fix(r): reverting unit test changes
* feat(r): saving changes for reference
* Revert "feat(r): saving changes for reference"
This reverts commit 0d091b5c20f8f7f83e8b3318c1f7ddf5c0a4cced.
* feat(r): minor refactor of method position
* fix(r): fixing bug in withhttpinfo method args passing
* fix(r): generated petstore with fix
* Bump up babel version
* Update samples
bin/javascript-flowtyped-petstore.sh
* The dependency `babel-preset-react-app` requires `NODE_ENV` or `BABEL_ENV`
* Run `env BABEL_ENV=development npm run build` to update the samples
* Add support for enum schemas and properties to the rust generator
Also:
* Skip serializing a field with serde if it's optional and empty
* Fix borrow checker error when using &std::path::Path (should be std::path::PathBuf)
* Add script to generate sample with rust-reqwest
* Regenerate petstore sample for both rust targets
* Remove go code from README.md
* Fix formatting of serde skip_serializing_if attribute
`URI.encode` is obsolete. `CGI.escape`, `URI.encode_www_form` or
`URI.encode_www_form_component` are recommended instead.
https://ruby-doc.org/stdlib-2.6/libdoc/uri/rdoc/URI/Escape.html#method-i-escape
URI.encode has different behaviour to CGI.escape:
```ruby
URI.encode('hello/world?test%string')
=> "hello/world?test%25string"
CGI.escape('hello/world?test%string')
=> "hello%2Fworld%3Ftest%25string"
```
I recently raised pull request #3039
201cbdce29cc6cdbbbe9efcb1afb250a05bc2ffd
That pull request escapes path items at insertion.
Before either pull request, the path item 'hello?world' would go into
the URL as 'hello?world'. That behaviour was insecure as if an attacker
could control the path item value, they could change the URL the
application connected to.
After #3039 'hello?world' would go in as 'hello%253Fworld'. This was
safer than before, but it's still not correct.
If I'd realised at the time, I would have made it correct at the time.
What this pull request does is make it go in as 'hello%35world', which
is correct.
ApiClient::build_request_url was URI.encoding the whole path.
This wasn't protecting against all undesirable characters in the path
items, but was escaping % characters a 2nd time which was unhelpful.
I have additionally removed URI.encode from Configuration::base_url as I
can't see any benefit it could be bringing.
There is no justification for it in the commit where it was originally
added: 47c8597d36a9bc0983ba5c40e2489bb094f9f076