added etag generation to sinatra