Android Volley access http response header fields

10,874

Solution 1

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;
}

Solution 2

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.

Share:
10,874
Sergio Serra
Author by

Sergio Serra

Updated on July 21, 2022

Comments

  • Sergio Serra
    Sergio Serra almost 2 years

    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

  • Admin
    Admin almost 7 years
    You are right. But volley adds some extra header kay-values. Is there a filter for getting only server headers?