public ParResponse requestPushedUri(
      URI pushedAuthorizationRequestUri, ParBodyBuilder parBodyBuilder) {

    var headers =
        List.of(
            new Header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON),
            new Header(HttpHeaders.CONTENT_TYPE, UrlFormBodyBuilder.MEDIA_TYPE));

    var req = new Request(pushedAuthorizationRequestUri, "POST", headers, parBodyBuilder.build());

    var res = httpClient.call(req);
    if (res.status() != 201) {
      throw HttpExceptions.httpFailBadStatus(
          req.method(), pushedAuthorizationRequestUri, res.status());
    }

    return JsonCodec.readValue(res.body(), ParResponse.class);
  }
@Test
  void requestPushedUri(WireMockRuntimeInfo wm) {

    var body =
        """
        {
          "request_uri":"https://example.com/auth/login",
          "expires_in": 600
        }
        """
            .getBytes(StandardCharsets.UTF_8);

    var path = "/auth/par";
    stubFor(post(path).willReturn(created().withBody(body)));

    var base = URI.create(wm.getHttpBaseUrl());

    var res = client.requestPushedUri(base.resolve(path), ParBodyBuilder.create());

    assertEquals("https://example.com/auth/login", res.requestUri());
    assertEquals(600L, res.expiresIn());
  }