Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Volley access http response header fields

How can i access HTTP header fields like ETag from a response using Volley ? With HttpUrlCoonection i just do conn.getHeaderField("ETag") and that's it.

Thanks

like image 249
Sergio Serra Avatar asked Dec 20 '13 11:12

Sergio Serra


2 Answers

You can subclass Request (or any of its subclasses) and override the parseNetworkResponse method:

@Override
protected Response<Bitmap> parseNetworkResponse(NetworkResponse response) {
    Map<String, String> responseHeaders = response.headers;
}
like image 86
diegocarloslima Avatar answered Sep 21 '22 06:09

diegocarloslima


You can extend Request class. Then when you implement parseNetworkResponse(NetworkResponse response) method you can access header values in response.headers. So you can access ETag header like response.headers.get("ETag"). What I did was to then add this header value in response object like response.setETag(etag) and than I just return it in Response.success(response, null). Response object will then be delivered to deliverResponse(E response) where you can send it forward to some listener.

like image 26
Blaz Avatar answered Sep 18 '22 06:09

Blaz