Add etag header and response body freshness check

Why are you going stringify again here, if we can't just use the raw body something seems wrongs.