@Override public String getStatusText() throws IOException { return this.response.reason(); }
@Override public String getStatusText() throws IOException { return this.response.reason(); }
@Override public String getStatusText() throws IOException { return this.response.reason(); }
@Override public String getStatusText() throws IOException { return this.response.reason(); }
@Override public String getStatusText() throws IOException { return this.response.reason(); }
@Override public Exception decode(String methodKey, Response response) { return new MarathonException(response.status(), response.reason()); } }
@Override public Exception decode(String methodKey, Response response) { return new ChronosException(response.status(), response.reason()); } }
@Override public Exception decode(String methodKey, Response response) { return new MarathonException(response.status(), response.reason()); } }
@Override public Exception decode(String methodKey, Response response) { if (response.status() == 422) { return new BranchAlreadyExistsException("Branch seems to already exist : " + response.reason()); } if (response.status() == 401) { return new GitHubAuthorizationException("Issue with credentials provided : " + response.reason()); } return errorStatus(methodKey, response); } }
@Override public Exception decode(String methodKey, Response response) { String details; try { details = IOUtils.toString(response.body().asInputStream(), "UTF-8"); } catch (NullPointerException | IOException e) { details = "Unable to read response body"; } return new DCOSException(response.status(), response.reason(), methodKey, details); } }
@Override public Exception decode(String methodKey, Response response) { if (response.status() == 401) { return new GitHubAuthorizationException("Issue with credentials provided : " + response.reason()); } return errorStatus(methodKey, response); } }
@Override public Exception decode(String methodKey, Response response) { if (response.status() >= 400 && response.status() < 500 ) { try { ErrorResponse parsed = ModelUtils.GSON.fromJson(response.body().asReader(), ErrorResponse.class); return new MarathonException(response.status(), response.reason(), parsed); } catch (IOException e) { // intentionally nothing } } return new MarathonException(response.status(), response.reason()); } }
@Override public Exception decode(String methodKey, Response response) { Collection<String> contentTypes = HeaderAccessUtils.caseInsensitiveGet(response.headers(), HttpHeaders.CONTENT_TYPE); if (contentTypes == null) { contentTypes = ImmutableSet.of(); } InputStream body; try { body = response.body().asInputStream(); } catch (IOException e) { return new RuntimeException("Cannot get input stream from response: " + e.getMessage(), e); } return SerializableErrorToExceptionConverter.getException(contentTypes, response.status(), response.reason(), body); } }
@Override public Exception decode(String methodKey, Response response) { String details; try { details = IOUtils.toString(response.body().asInputStream(), "UTF-8"); } catch (NullPointerException | IOException e) { details = "Unable to read response body"; } DCOSException e = new DCOSException(response.status(), response.reason(), methodKey, details); // WARNING: THIS IF STATEMENT IS NOT THREAD SAFE // TODO: Fix the thread safety of this if statement or token refresh/clear in general if (authTokenHeaderInterceptor != null && response.status() == 401 && authTokenHeaderInterceptor.hasToken()) { authTokenHeaderInterceptor.clearToken(); return new RetryableException(response.reason(), e, null); } return e; } }
@Test public void execute_ResponseReasonPhraseGiven_ShouldRespondWithReasonPhrase() throws IOException { FeignLambdaClientImpl client = new FeignLambdaClientImpl(serviceResponse); when(serviceResponse.getReasonPhrase()).thenReturn("some reason"); feign.Response response = client.execute(feignRequest, null); assertEquals("some reason", response.reason()); }
public RibbonResponseStatusCodeException(String serviceId, Response response, byte[] body, URI uri) { super(serviceId, response.status(), response, uri); this.response = Response.builder().body(new ByteArrayInputStream(body), body.length) .headers(response.headers()).reason(response.reason()) .status(response.status()).request(response.request()).build(); }
public RibbonResponseStatusCodeException(String serviceId, Response response, byte[] body, URI uri) { super(serviceId, response.status(), response, uri); this.response = Response.builder().body(new ByteArrayInputStream(body), body.length) .headers(response.headers()).reason(response.reason()) .status(response.status()).request(response.request()).build(); }
@Test public void execute_NullResponseReasonPhraseGiven_ShouldRespondWithNullReasonPhrase() throws IOException { FeignLambdaClientImpl client = new FeignLambdaClientImpl(serviceResponse); feign.Response response = client.execute(feignRequest, null); assertEquals(null, response.reason()); }
@Override protected Response logAndRebufferResponse(String configKey, feign.Logger.Level logLevel, Response response, long elapsedTime) throws IOException { String requestId = requestIdProvider.getRequestId(); HttpData reqData = requestDataProvider.retrieve(requestId); if (requestTraceable(reqData) && isNotSkipped(reqData)) { byte[] bodyData = Util.toByteArray(response.body().asInputStream()); String content = new String(bodyData, StandardCharsets.UTF_8.name()); HttpData resData = new HttpData(extractHeaders(response), extractStatus(response), content); Response rebufferedResponse = Response.create(response.status(), response.reason(), response.headers(), bodyData); requestResponseLogger.logObfuscatedResponse(reqData, resData, TAG); requestDataProvider.remove(requestId); return super.logAndRebufferResponse(configKey, logLevel, rebufferedResponse, elapsedTime); } else { log.debug("Cannot obfuscate response, matching request data lost"); return super.logAndRebufferResponse(configKey, logLevel, response, elapsedTime); } }
protected Response logAndRebufferResponse(String configKey, Level logLevel, Response response, long elapsedTime) throws IOException { String reason = response.reason() != null && logLevel.compareTo(Level.NONE) > 0 ? " " + response.reason() : ""; log(configKey, "<--- HTTP/1.1 %s%s (%sms)", response.status(), reason, elapsedTime); if (logLevel.ordinal() >= Level.HEADERS.ordinal()) { for (String field : response.headers().keySet()) { for (String value : valuesOrEmpty(response.headers(), field)) { log(configKey, "%s: %s", field, value); } } int bodyLength = 0; if (response.body() != null) { if (logLevel.ordinal() >= Level.FULL.ordinal()) { log(configKey, ""); // CRLF } byte[] bodyData = Util.toByteArray(response.body().asInputStream()); bodyLength = bodyData.length; if (logLevel.ordinal() >= Level.FULL.ordinal() && bodyLength > 0) { log(configKey, "%s", decodeOrDefault(bodyData, UTF_8, "Binary data")); } log(configKey, "<--- END HTTP (%s-byte body)", bodyLength); return Response.create(response.status(), response.reason(), response.headers(), bodyData); } else { log(configKey, "<--- END HTTP (%s-byte body)", bodyLength); } } return response; }