Skip to content

Instantly share code, notes, and snippets.

@oldergod
Last active December 6, 2016 00:44
Show Gist options
  • Save oldergod/1c20fde0787afe8840cc108a6abf902b to your computer and use it in GitHub Desktop.
Save oldergod/1c20fde0787afe8840cc108a6abf902b to your computer and use it in GitHub Desktop.

Revisions

  1. oldergod revised this gist Dec 6, 2016. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion LoginContextUnwrappingConverter.java
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,9 @@ public class LoginContextUnwrappingConverter extends Converter.Factory {
    }

    final Converter<ResponseBody, LoginResponse> delegate =
    retrofit.nextResponseBodyConverter(this, LoginResponse.class, annotations);
    retrofit.nextResponseBodyConverter(this,
    LoginResponse.class,
    annotations);

    return body -> {
    LoginResponse wrapper = delegate.convert(body);
  2. oldergod created this gist Dec 6, 2016.
    19 changes: 19 additions & 0 deletions LoginContextUnwrappingConverter.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    public class LoginContextUnwrappingConverter extends Converter.Factory {
    @Override
    public Converter<ResponseBody, LoginContext>
    responseBodyConverter(Type type,
    Annotation[] annotations,
    Retrofit retrofit) {
    if (type != LoginContext.class) {
    return null;
    }

    final Converter<ResponseBody, LoginResponse> delegate =
    retrofit.nextResponseBodyConverter(this, LoginResponse.class, annotations);

    return body -> {
    LoginResponse wrapper = delegate.convert(body);
    return wrapper.context();
    };
    }
    }