Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PHP] Preserve JSON accept header #4684

Merged
merged 4 commits into from
Dec 13, 2019
Merged

[PHP] Preserve JSON accept header #4684

merged 4 commits into from
Dec 13, 2019

Conversation

ro0NL
Copy link
Contributor

@ro0NL ro0NL commented Dec 3, 2019

fixes #4636 (comment)

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

@ro0NL
Copy link
Contributor Author

ro0NL commented Dec 9, 2019

Hi @jorissteyn , i've updated the PR.

In our case $accept is

array:3 [▼
  0 => "application/ld+json"
  1 => "application/json"
  2 => "text/html"
]

I had to modify the regex to match ld+json as well. It now returns application/ld+json,application/json, and all works well 👍

@ro0NL ro0NL changed the title Preserve JSON accept header [PHP] Preserve JSON accept header Dec 9, 2019
@ro0NL ro0NL changed the base branch from 4.3.x to master December 10, 2019 08:27
@ro0NL
Copy link
Contributor Author

ro0NL commented Dec 10, 2019

@wing328 same here :) switched to master.

@wing328
Copy link
Member

wing328 commented Dec 12, 2019

@ro0NL thanks for the PR. Can you reuse the following regular expression to detect JSON MIME instead?

public boolean isJsonMime(String mime) {
    String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
    return mime != null && (mime.matches(jsonMime) || mime.equals("*/*"));
  }

These are Java code and we need to plot the regular expression to PHP.

Ref:

String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";

@ro0NL
Copy link
Contributor Author

ro0NL commented Dec 12, 2019

@wing328 done :) https://3v4l.org/TkPqE

@wing328 wing328 merged commit 0ffb99a into OpenAPITools:master Dec 13, 2019
@wing328
Copy link
Member

wing328 commented Dec 13, 2019

cc @jebentier (2017/07), @dkarlovi (2017/07), @mandrean (2017/08), @jfastnacht (2017/09), @ackintosh (2017/09) ❤️, @ybelenko (2018/07), @renepardon (2018/12)

@dkarlovi
Copy link
Contributor

Welcome @ro0NL, nice to have you here. 💯

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

Successfully merging this pull request may close these issues.

[BUG][PHP] Unable to generate working client based on API-Platform OAS3 definition
4 participants