diff options
Diffstat (limited to 'vendor/github.com/mrexodia/wray/transport.go')
-rw-r--r-- | vendor/github.com/mrexodia/wray/transport.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vendor/github.com/mrexodia/wray/transport.go b/vendor/github.com/mrexodia/wray/transport.go new file mode 100644 index 00000000..82f4d4d3 --- /dev/null +++ b/vendor/github.com/mrexodia/wray/transport.go @@ -0,0 +1,21 @@ +package wray + +import ( + "errors" +) + +type Transport interface { + isUsable(string) bool + connectionType() string + send(map[string]interface{}) (Response, error) + setUrl(string) +} + +func SelectTransport(client *FayeClient, transportTypes []string, disabled []string) (Transport, error) { + for _, transport := range registeredTransports { + if contains(transport.connectionType(), transportTypes) && transport.isUsable(client.url) { + return transport, nil + } + } + return nil, errors.New("No usable transports available") +} |