rpc: don't set Origin header for empty (default) origin

This commit is contained in:
Felix Lange 2019-07-19 16:32:45 +02:00
parent 61b12da21f
commit bbfe6f9c17
2 changed files with 9 additions and 1 deletions

View file

@ -141,7 +141,9 @@ func wsClientHeaders(endpoint, origin string) (string, http.Header, error) {
return endpoint, nil, err return endpoint, nil, err
} }
header := make(http.Header) header := make(http.Header)
if origin != "" {
header.Add("origin", origin) header.Add("origin", origin)
}
if endpointURL.User != nil { if endpointURL.User != nil {
b64auth := base64.StdEncoding.EncodeToString([]byte(endpointURL.User.String())) b64auth := base64.StdEncoding.EncodeToString([]byte(endpointURL.User.String()))
header.Add("authorization", "Basic "+b64auth) header.Add("authorization", "Basic "+b64auth)

View file

@ -66,6 +66,12 @@ func TestWebsocketOriginCheck(t *testing.T) {
if err != websocket.ErrBadHandshake { if err != websocket.ErrBadHandshake {
t.Fatalf("wrong error for wrong origin: %q", err) t.Fatalf("wrong error for wrong origin: %q", err)
} }
client, err = DialWebsocket(context.Background(), wsURL, "")
if err != nil {
t.Fatal("error for empty origin")
}
client.Close()
} }
// This test checks whether calls exceeding the request size limit are rejected. // This test checks whether calls exceeding the request size limit are rejected.