You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
729 B
36 lines
729 B
//go:build !js |
|
|
|
package ws |
|
|
|
import ( |
|
"crypto/tls" |
|
"net/http" |
|
"net/textproto" |
|
|
|
ws "github.com/coder/websocket" |
|
) |
|
|
|
var defaultConnectionOptions = &ws.DialOptions{ |
|
CompressionMode: ws.CompressionContextTakeover, |
|
HTTPHeader: http.Header{ |
|
textproto.CanonicalMIMEHeaderKey("User-Agent"): {"github.com/nbd-wtf/go-nostr"}, |
|
}, |
|
} |
|
|
|
func getConnectionOptions( |
|
requestHeader http.Header, tlsConfig *tls.Config, |
|
) *ws.DialOptions { |
|
if requestHeader == nil && tlsConfig == nil { |
|
return defaultConnectionOptions |
|
} |
|
|
|
return &ws.DialOptions{ |
|
HTTPHeader: requestHeader, |
|
CompressionMode: ws.CompressionContextTakeover, |
|
HTTPClient: &http.Client{ |
|
Transport: &http.Transport{ |
|
TLSClientConfig: tlsConfig, |
|
}, |
|
}, |
|
} |
|
}
|
|
|