Move signatureCalculator to HttpRequest so that it's available for WebSocket too
Add signature to HttpProtocolBuilder too so that it can be defined for all requests