add etag header

fixes #170 
Can we split this up into smaller tests?