package com.anthony.library.data.net; import com.anthony.library.utils.LogUtil; import rx.functions.Func1; /** * Created by Anthony on 2016/7/8. * unify operation resultCode from Http response, * return {@link HttpResult#response} to {@link rx.Subscriber} * * @param <T> what the {@link rx.Subscriber} really needs ,the {@link HttpResult#response} * <p> * 用来统一处理Http的resultCode,并将HttpResult的Data部分剥离出来返回给subscriber * @param <T> Subscriber真正需要的数据类型,也就是Data部分的数据类型 */ public class HttpResultFunc<T> implements Func1<HttpResult<T>, T> { @Override public T call(HttpResult<T> httpResult) { if (httpResult.code != 200) { LogUtil.i("response code is not 200,response error"); throw new RuntimeException(httpResult.message); } return httpResult.response; } }