mirror of
https://github.com/matrix-org/dendrite
synced 2024-12-13 23:02:46 +00:00
bdf6490375
* Allow disabling federation * Don't start federation queues if disabled * Fix for Go 1.13
32 lines
817 B
Go
32 lines
817 B
Go
package setup
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"net"
|
|
"net/http"
|
|
)
|
|
|
|
// noOpHTTPTransport is used to disable federation.
|
|
var noOpHTTPTransport = &http.Transport{
|
|
Dial: func(_, _ string) (net.Conn, error) {
|
|
return nil, fmt.Errorf("federation prohibited by configuration")
|
|
},
|
|
DialContext: func(_ context.Context, _, _ string) (net.Conn, error) {
|
|
return nil, fmt.Errorf("federation prohibited by configuration")
|
|
},
|
|
DialTLS: func(_, _ string) (net.Conn, error) {
|
|
return nil, fmt.Errorf("federation prohibited by configuration")
|
|
},
|
|
}
|
|
|
|
func init() {
|
|
noOpHTTPTransport.RegisterProtocol("matrix", &noOpHTTPRoundTripper{})
|
|
}
|
|
|
|
type noOpHTTPRoundTripper struct {
|
|
}
|
|
|
|
func (y *noOpHTTPRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
|
|
return nil, fmt.Errorf("federation prohibited by configuration")
|
|
}
|