@Override public RequestBody convert(Object value) throws IOException { final RequestBody realBody = delegate.convert(value); return new RequestBody() { @Override public MediaType contentType() { return realBody.contentType(); } @Override public void writeTo(BufferedSink sink) throws IOException { realBody.writeTo(sink); } }; } };
@Override public Optional<T> convert(ResponseBody value) throws IOException { return Optional.ofNullable(delegate.convert(value)); } }
@Override public Optional<T> convert(ResponseBody value) throws IOException { return Optional.fromNullable(delegate.convert(value)); } }
@Override public Optional<T> convert(ResponseBody value) throws IOException { return Optional.ofNullable(delegate.convert(value)); } }
@Override void apply(RequestBuilder builder, @Nullable T value) throws IOException { if (value == null) return; // Skip null values. String fieldValue = valueConverter.convert(value); if (fieldValue == null) return; // Skip null converted values builder.addFormField(name, fieldValue, encoded); } }
@Override void apply(RequestBuilder builder, @Nullable T value) throws IOException { if (value == null) return; // Skip null values. String queryValue = valueConverter.convert(value); if (queryValue == null) return; // Skip converted but null values builder.addQueryParam(name, queryValue, encoded); } }
@Override void apply(RequestBuilder builder, @Nullable T value) throws IOException { if (value == null) return; // Skip null values. String headerValue = valueConverter.convert(value); if (headerValue == null) return; // Skip converted but null values. builder.addHeader(name, headerValue); } }
@Override void apply(RequestBuilder builder, @Nullable T value) throws IOException { if (value == null) return; // Skip null values. builder.addQueryParam(nameConverter.convert(value), null, encoded); } }
@Override public String convert(T value) throws IOException { Buffer buffer = new Buffer(); delegate.convert(value).writeTo(buffer); return buffer.readUtf8(); } }
@Override void apply(RequestBuilder builder, @Nullable T value) throws IOException { if (value == null) { throw Utils.parameterError(method, p, "Path parameter \"" + name + "\" value must not be null."); } builder.addPathParam(name, valueConverter.convert(value), encoded); } }
@Override void apply(RequestBuilder builder, @Nullable T value) { if (value == null) return; // Skip null values. RequestBody body; try { body = converter.convert(value); } catch (IOException e) { throw Utils.parameterError(method, p, "Unable to convert " + value + " to RequestBody", e); } builder.addPart(headers, body); } }
@Override void apply(RequestBuilder builder, @Nullable T value) throws IOException { if (value == null) { throw new IllegalArgumentException( "Path parameter \"" + name + "\" value must not be null."); } builder.addPathParam(name, valueConverter.convert(value), encoded); } }
@Override void apply(RequestBuilder builder, @Nullable T value) throws IOException { if (value == null) return; // Skip null values. String queryValue = valueConverter.convert(value); if (queryValue == null) return; // Skip converted but null values builder.addQueryParam(name, queryValue, encoded); } }
@Override void apply(RequestBuilder builder, @Nullable T value) { if (value == null) { throw Utils.parameterError(method, p, "Body parameter value must not be null."); } RequestBody body; try { body = converter.convert(value); } catch (IOException e) { throw Utils.parameterError(method, e, p, "Unable to convert " + value + " to RequestBody"); } builder.setBody(body); } }
@Override void apply(RequestBuilder builder, @Nullable Map<String, T> value) throws IOException { if (value == null) { throw Utils.parameterError(method, p, "Header map was null."); } for (Map.Entry<String, T> entry : value.entrySet()) { String headerName = entry.getKey(); if (headerName == null) { throw Utils.parameterError(method, p, "Header map contained null key."); } T headerValue = entry.getValue(); if (headerValue == null) { throw Utils.parameterError(method, p, "Header map contained null value for key '" + headerName + "'."); } builder.addHeader(headerName, valueConverter.convert(headerValue)); } } }
@Override void apply(RequestBuilder builder, @Nullable Map<String, T> value) throws IOException { if (value == null) { throw Utils.parameterError(method, p, "Query map was null"); } for (Map.Entry<String, T> entry : value.entrySet()) { String entryKey = entry.getKey(); if (entryKey == null) { throw Utils.parameterError(method, p, "Query map contained null key."); } T entryValue = entry.getValue(); if (entryValue == null) { throw Utils.parameterError(method, p, "Query map contained null value for key '" + entryKey + "'."); } String convertedEntryValue = valueConverter.convert(entryValue); if (convertedEntryValue == null) { throw Utils.parameterError(method, p, "Query map value '" + entryValue + "' converted to null by " + valueConverter.getClass().getName() + " for key '" + entryKey + "'."); } builder.addQueryParam(entryKey, convertedEntryValue, encoded); } } }
@Override void apply(RequestBuilder builder, @Nullable Map<String, T> value) throws IOException { if (value == null) { throw Utils.parameterError(method, p, "Field map was null."); } for (Map.Entry<String, T> entry : value.entrySet()) { String entryKey = entry.getKey(); if (entryKey == null) { throw Utils.parameterError(method, p, "Field map contained null key."); } T entryValue = entry.getValue(); if (entryValue == null) { throw Utils.parameterError(method, p, "Field map contained null value for key '" + entryKey + "'."); } String fieldEntry = valueConverter.convert(entryValue); if (fieldEntry == null) { throw Utils.parameterError(method, p, "Field map value '" + entryValue + "' converted to null by " + valueConverter.getClass().getName() + " for key '" + entryKey + "'."); } builder.addFormField(entryKey, fieldEntry, encoded); } } }
@Override void apply(RequestBuilder builder, @Nullable Map<String, T> value) throws IOException { if (value == null) { throw Utils.parameterError(method, p, "Part map was null."); } for (Map.Entry<String, T> entry : value.entrySet()) { String entryKey = entry.getKey(); if (entryKey == null) { throw Utils.parameterError(method, p, "Part map contained null key."); } T entryValue = entry.getValue(); if (entryValue == null) { throw Utils.parameterError(method, p, "Part map contained null value for key '" + entryKey + "'."); } Headers headers = Headers.of( "Content-Disposition", "form-data; name=\"" + entryKey + "\"", "Content-Transfer-Encoding", transferEncoding); builder.addPart(headers, valueConverter.convert(entryValue)); } } }
retrofit.responseBodyConverter(Error.class, new Annotation[0]); Error error = errorConverter.convert(response.errorBody()); System.out.println("ERROR: " + error.message);
T body = responseConverter.convert(catchingBody); return Response.success(body, rawResponse); } catch (RuntimeException e) {