mirror of
https://github.com/1f349/dendrite.git
synced 2024-11-22 11:41:38 +00:00
bdf6490375
* Allow disabling federation * Don't start federation queues if disabled * Fix for Go 1.13
33 lines
817 B
Go
33 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")
|
|
}
|