github.com/philippseith/signalr@v0.6.3/negotiateresponse.go (about)

     1  package signalr
     2  
     3  type TransportType string
     4  
     5  var TransportWebSockets TransportType = "WebSockets"
     6  var TransportServerSentEvents TransportType = "ServerSentEvents"
     7  
     8  type TransferFormatType string
     9  
    10  var TransferFormatText TransferFormatType = "Text"
    11  var TransferFormatBinary TransferFormatType = "Binary"
    12  
    13  type availableTransport struct {
    14  	Transport       string   `json:"transport"`
    15  	TransferFormats []string `json:"transferFormats"`
    16  }
    17  
    18  type negotiateResponse struct {
    19  	ConnectionToken     string               `json:"connectionToken,omitempty"`
    20  	ConnectionID        string               `json:"connectionId"`
    21  	NegotiateVersion    int                  `json:"negotiateVersion,omitempty"`
    22  	AvailableTransports []availableTransport `json:"availableTransports"`
    23  }
    24  
    25  func (nr *negotiateResponse) hasTransport(transportType TransportType) bool {
    26  	for _, transport := range nr.AvailableTransports {
    27  		if transport.Transport == string(transportType) {
    28  			return true
    29  		}
    30  	}
    31  	return false
    32  }