usando retrofit com persistência Cookie
Eu estou usando o retrofit e gostaria de saber como lidar de forma transparente com o cookie de sessão. Para isso eu estendo o ApacheClient fornecido e uso um CookieStore na chamada personalizada para ApacheClient.execute (HttpClient, HttpUriRequest):
Client client = new ApacheClient() {
final CookieStore cookieStore = new BasicCookieStore();
@Override
protected HttpResponse execute(HttpClient client, HttpUriRequest request) throws IOException {
// BasicHttpContext is not thread safe
// CookieStore is thread safe
BasicHttpContext httpContext = new BasicHttpContext();
httpContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
return client.execute(request, httpContext);
}
};
RestAdapter restAdapter = new RestAdapter.Builder()
.setServer(API_URL)
.setClient(client)
.build();
Existe uma maneira melhor de fazer isso com a API de retrofit integrada (sem extensão HttpClient)?