How to add basic auth header in autobahn client tool

autobahn, websocket

Solution

I have implemented options to send custom HTTP headers for both AutobahnPython client and server. You need to use the latest AutobahnPython on GitHub (master branch).

A client can send headers by providing a `headers` keyword argument during construction of the `WebSocketClientFactory` or set headers via `setSessionParameters`.

A server can send headers similar to client, and additionally specify headers when returning from `onConnect`.

Here is a complete example.

Disclaimer: I am original author of Autobahn and work for Tavendo.

Problem

I want to add basic auth header in the autobahn client tool. How can I achieve that? Current request ``` GET / HTTP/1.1 User-Agent: AutobahnPython/0.5.2 Host: 10.35.34.172:9000 Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Key: 1U4OeBs60qkmk1V/8voLOw== Sec-WebSocket-Version: 8 ``` Request I need: ``` GET / HTTP/1.1 User-Agent: AutobahnPython/0.5.2 Host: 10.35.34.172:9000 Authorization: Basic TXlMb2NhdGlvbkFwcDpNeUxvY2F0aW9uQXBwMTIz Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Key: 1U4OeBs60qkmk1V/8voLOw== Sec-WebSocket-Version: 8 ``` Note: I don't want autobahn server to authenticate the client. My scenario is autobahn client --> my server --> autobahn server. My server will take care of extracting the authorization header and then invoke the autobahn server.

Original source