@Override public T run() throws DbxException { HttpRequestor.Response response = startGet(requestConfig, accessToken, sdkUserAgentIdentifier, host, path, params, headers); try { return handler.handle(response); } finally { try { response.getBody().close(); } catch (IOException ex) { //noinspection ThrowFromFinallyBlock throw new NetworkIOException(ex); } } } });
IOUtil.closeInput(response.getBody());
try { ApiErrorResponse<AccessError> accessErrorResponse = new ApiErrorResponse.Serializer<AccessError>(AccessError.Serializer.INSTANCE) .deserialize(response.getBody()); if (accessErrorResponse.getUserMessage() != null) { message = accessErrorResponse.getUserMessage().toString(); try { ApiErrorResponse<PathRootError> pathRootErrorResponse = new ApiErrorResponse.Serializer<PathRootError>(Serializer.INSTANCE) .deserialize(response.getBody()); if (pathRootErrorResponse.getUserMessage() != null) { message = pathRootErrorResponse.getUserMessage().toString();
IOUtil.closeInput(response.getBody());
public static <T> T readJsonFromResponse(JsonReader<T> reader, HttpRequestor.Response response) throws BadResponseException, NetworkIOException { try { return reader.readFully(response.getBody()); } catch (JsonReadException ex) { String requestId = getRequestId(response); throw new BadResponseException(requestId, "error in response JSON: " + ex.getMessage(), ex); } catch (IOException ex) { throw new NetworkIOException(ex); } }
public static byte[] loadErrorBody(HttpRequestor.Response response) throws NetworkIOException { if (response.getBody() == null) { return new byte[0]; } // Slurp the body into memory (up to 4k; anything past that is probably not useful). try { return IOUtil.slurp(response.getBody(), 4096); } catch (IOException ex) { throw new NetworkIOException(ex); } }
public static <T> DbxWrappedException fromResponse(StoneSerializer<T> errSerializer, HttpRequestor.Response response, String userId) throws IOException, JsonParseException { String requestId = DbxRequestUtil.getRequestId(response); ApiErrorResponse<T> apiResponse = new ApiErrorResponse.Serializer<T>(errSerializer) .deserialize(response.getBody()); T routeError = apiResponse.getError(); DbxGlobalCallbackFactory factory = DbxRequestUtil.sharedCallbackFactory; DbxWrappedException.executeBlockForObject(factory, userId, routeError); DbxWrappedException.executeOtherBlocks(factory, userId, routeError); return new DbxWrappedException(routeError, requestId, apiResponse.getUserMessage()); }
public static <T> T finishResponse(HttpRequestor.Response response, ResponseHandler<T> handler) throws DbxException { try { return handler.handle(response); } finally { IOUtil.closeInput(response.getBody()); } }