Skip to content

[BUG] ApiClient.buildRequest using PUT method with no request body leads to exception #14

Closed

Description

@lrenard-qima

Preflight checklist

Describe the bug

Exception when trying to accept LogoutRequest using Hydra ApiClient.

A corresponding bug has been fixed on openapi-generators side :
Link to the issue : OpenAPITools/openapi-generator#12143
Link to the fix : OpenAPITools/openapi-generator#12172

Since Hydra ApiClient is generated, it would certainly fix the issue to upgrade to fixed openapi version and generate new ApiClient.

Breaks in sh.ory.hydra.ApiClient line 1251 at :

// use an empty request body (for POST, PUT and PATCH)
reqBody = RequestBody.create("", MediaType.parse(contentType));

Reproducing the bug

Steps to reproduce :

  1. Create Java project using hydra-client-java
  2. Create a Hydra AdminApi using ApiClient
  3. Call AdminApi acceptLogoutRequest
    => It breaks

Relevant log output

java.lang.NullPointerException: Parameter specified as non-null is null: method okhttp3.MediaType$Companion.parse, parameter $this$toMediaTypeOrNull
	at okhttp3.MediaType$Companion.parse(MediaType.kt) ~[okhttp-4.9.3.jar:na]
	at okhttp3.MediaType.parse(MediaType.kt) ~[okhttp-4.9.3.jar:na]
	at sh.ory.hydra.ApiClient.buildRequest(ApiClient.java:1225) ~[hydra-client-1.11.7.jar:na]
	at sh.ory.hydra.ApiClient.buildCall(ApiClient.java:1181) ~[hydra-client-1.11.7.jar:na]
	at sh.ory.hydra.api.AdminApi.acceptLogoutRequestCall(AdminApi.java:449) ~[hydra-client-1.11.7.jar:na]
	at sh.ory.hydra.api.AdminApi.acceptLogoutRequestValidateBeforeCall(AdminApi.java:461) ~[hydra-client-1.11.7.jar:na]
	at sh.ory.hydra.api.AdminApi.acceptLogoutRequestWithHttpInfo(AdminApi.java:500) ~[hydra-client-1.11.7.jar:na]
	at sh.ory.hydra.api.AdminApi.acceptLogoutRequest(AdminApi.java:481) ~[hydra-client-1.11.7.jar:na]

Relevant configuration

No response

Version

1.11.7

On which operating system are you observing this issue?

No response

In which environment are you deploying?

No response

Additional Context

No response

Activity

  1. xkuyax commented on Jun 29, 2022

    @xkuyax

    I can confirm that this bug exists, i ran into the same issue
    adminApi.acceptLogoutRequest("asdhasidasd");
    Fails immediately, which means we need to keep the version down

  2. aeneasr commented on Jul 4, 2022

    @aeneasr
    Member

    Thank you for the report! There is an open PR to upgrade the java client to 6.0 but it is currently still work in progress: ory/sdk#192

  3. CGNonofr commented on Nov 22, 2022

    @CGNonofr

    It seems that the issue is now fixed

  4. aeneasr commented on Nov 22, 2022

    @aeneasr
    Member

    aweseome!

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not working.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions