diff --git a/java11/src/main/java/feign/http2client/Http2Client.java b/java11/src/main/java/feign/http2client/Http2Client.java index aca905c82..510b5e357 100644 --- a/java11/src/main/java/feign/http2client/Http2Client.java +++ b/java11/src/main/java/feign/http2client/Http2Client.java @@ -128,7 +128,7 @@ protected Response toFeignResponse(Request request, HttpResponse httpRes .body( new ByteArrayInputStream(httpResponse.body()), length.isPresent() ? (int) length.getAsLong() : null) - .reason(httpResponse.headers().firstValue("Reason-Phrase").orElse("OK")) + .reason(httpResponse.headers().firstValue("Reason-Phrase").orElse(null)) .request(request) .status(httpResponse.statusCode()) .headers(castMapCollectType(httpResponse.headers().map())) diff --git a/java11/src/test/java/feign/http2client/test/Http2ClientTest.java b/java11/src/test/java/feign/http2client/test/Http2ClientTest.java index 923935efd..c998b97dd 100644 --- a/java11/src/test/java/feign/http2client/test/Http2ClientTest.java +++ b/java11/src/test/java/feign/http2client/test/Http2ClientTest.java @@ -1,5 +1,5 @@ /** - * Copyright 2012-2020 The Feign Authors + * Copyright 2012-2021 The Feign Authors * *

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at @@ -64,6 +64,20 @@ public void noResponseBodyForPatch() { @Override @Test public void reasonPhraseIsOptional() throws IOException, InterruptedException { + server.enqueue(new MockResponse().setStatus("HTTP/1.1 " + 200)); + + final AbstractClientTest.TestInterface api = + newBuilder() + .target(AbstractClientTest.TestInterface.class, "http://localhost:" + server.getPort()); + + final Response response = api.post("foo"); + + assertThat(response.status()).isEqualTo(200); + assertThat(response.reason()).isNull(); + } + + @Test + public void reasonPhraseInHeader() throws IOException, InterruptedException { server.enqueue( new MockResponse() .addHeader("Reason-Phrase", "There is A reason")