本文整理汇总了Golang中github.com/cloudfoundry/loggregatorlib/server/handlers.NewWebsocketHandler函数的典型用法代码示例。如果您正苦于以下问题:Golang NewWebsocketHandler函数的具体用法?Golang NewWebsocketHandler怎么用?Golang NewWebsocketHandler使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewWebsocketHandler函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ServeHTTP
func (fakeDoppler *FakeDoppler) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
select {
case fakeDoppler.TrafficControllerConnected <- request:
default:
}
fakeDoppler.Lock()
fakeDoppler.connectionPresent = true
fakeDoppler.Unlock()
handlers.NewWebsocketHandler(fakeDoppler.sendMessageChan, time.Millisecond*100, loggertesthelper.Logger()).ServeHTTP(writer, request)
fakeDoppler.Lock()
fakeDoppler.connectionPresent = false
fakeDoppler.Unlock()
}
示例2:
log.SetOutput(buf)
})
BeforeEach(func() {
messagesToSend = make(chan []byte, 256)
})
AfterEach(func() {
if testServer != nil {
testServer.Close()
}
})
Describe("SetOnConnectCallback", func() {
BeforeEach(func() {
testServer = httptest.NewServer(handlers.NewWebsocketHandler(messagesToSend, 100*time.Millisecond))
endpoint = "ws://" + testServer.Listener.Addr().String()
close(messagesToSend)
})
It("sets a callback and calls it when connecting", func() {
called := false
cb := func() { called = true }
connection = consumer.New(endpoint, tlsSettings, nil)
connection.SetOnConnectCallback(cb)
connection.Tail(appGuid, authToken)
Eventually(func() bool { return called }).Should(BeTrue())
})
示例3: WebsocketHandlerProvider
func WebsocketHandlerProvider(messages <-chan []byte, logger *gosteno.Logger) http.Handler {
return handlers.NewWebsocketHandler(messages, WebsocketKeepAliveDuration, logger)
}
示例4:
consumerProxyFunc func(*http.Request) (*url.URL, error)
appGuid string
authToken string
incomingChan chan *events.Envelope
messagesToSend chan []byte
testProxyServer *httptest.Server
goProxyHandler *goproxy.ProxyHttpServer
err error
)
BeforeEach(func() {
messagesToSend = make(chan []byte, 256)
testServer = httptest.NewServer(handlers.NewWebsocketHandler(messagesToSend, 100*time.Millisecond, loggertesthelper.Logger()))
endpoint = "ws://" + testServer.Listener.Addr().String()
goProxyHandler = goproxy.NewProxyHttpServer()
goProxyHandler.Logger = log.New(bytes.NewBufferString(""), "", 0)
testProxyServer = httptest.NewServer(goProxyHandler)
consumerProxyFunc = func(*http.Request) (*url.URL, error) {
return url.Parse(testProxyServer.URL)
}
})
AfterEach(func() {
consumerProxyFunc = nil
if testProxyServer != nil {
testProxyServer.Close()
}
if testServer != nil {
示例5:
"net/http/httptest"
"time"
"tools/benchmark/metricsreporter"
"github.com/cloudfoundry/loggregatorlib/loggertesthelper"
"github.com/cloudfoundry/loggregatorlib/server/handlers"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Websocketmessagereader", func() {
It("connects to a websocket endpoint", func() {
sentMessage := "a message"
messages := make(chan []byte, 1)
wsh := handlers.NewWebsocketHandler(messages, time.Second, loggertesthelper.Logger())
server := httptest.NewServer(wsh)
defer server.Close()
messages <- []byte(sentMessage)
receivedCounter := metricsreporter.NewCounter("counter")
reader := websocketmessagereader.New(server.Listener.Addr().String(), receivedCounter)
reader.Read()
Eventually(receivedCounter.GetValue).Should(BeEquivalentTo(1))
})
})
示例6:
Expect(recorder.Header().Get("Access-Control-Allow-Credentials")).To(Equal("true"))
})
})
})
var _ = Describe("DefaultHandlerProvider", func() {
It("returns an HTTP handler for .../recentlogs", func() {
httpHandler := handlers.NewHttpHandler(make(chan []byte), loggertesthelper.Logger())
target := doppler_endpoint.HttpHandlerProvider(make(chan []byte), loggertesthelper.Logger())
Expect(target).To(BeAssignableToTypeOf(httpHandler))
})
It("returns a Websocket handler for .../stream", func() {
wsHandler := handlers.NewWebsocketHandler(make(chan []byte), time.Minute, loggertesthelper.Logger())
target := doppler_endpoint.WebsocketHandlerProvider(make(chan []byte), loggertesthelper.Logger())
Expect(target).To(BeAssignableToTypeOf(wsHandler))
})
It("returns a Websocket handler for anything else", func() {
wsHandler := handlers.NewWebsocketHandler(make(chan []byte), time.Minute, loggertesthelper.Logger())
target := doppler_endpoint.WebsocketHandlerProvider(make(chan []byte), loggertesthelper.Logger())
Expect(target).To(BeAssignableToTypeOf(wsHandler))
})
})
示例7:
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("RefreshTokenFrom", func() {
Context("Asynchronous", func() {
var (
cnsmr *consumer.Consumer
testHandler *errorRespondingHandler
tcURL string
refresher *mockTokenRefresher
)
BeforeEach(func() {
testHandler = &errorRespondingHandler{
subHandler: handlers.NewWebsocketHandler(make(chan []byte), 100*time.Millisecond, loggertesthelper.Logger()),
responseStatuses: make(chan int, 10),
}
server := httptest.NewServer(testHandler)
tcURL = "ws://" + server.Listener.Addr().String()
refresher = newMockTokenRefresher()
cnsmr = consumer.New(tcURL, nil, nil)
cnsmr.RefreshTokenFrom(refresher)
})
Describe("TailingLogs", func() {
It("loads a token if the provided token is empty", func() {
cnsmr.TailingLogs("some-fake-app-guid", "")
Eventually(refresher.RefreshAuthTokenCalled).Should(BeCalled())
示例8:
consumerProxyFunc func(*http.Request) (*url.URL, error)
appGuid string
authToken string
incomingChan <-chan *logmessage.LogMessage
messagesToSend chan []byte
testProxyServer *httptest.Server
goProxyHandler *goproxy.ProxyHttpServer
err error
)
BeforeEach(func() {
messagesToSend = make(chan []byte, 256)
testServer = httptest.NewServer(handlers.NewWebsocketHandler(messagesToSend, 100*time.Millisecond))
endpoint = "ws://" + testServer.Listener.Addr().String()
goProxyHandler = goproxy.NewProxyHttpServer()
goProxyHandler.Logger = log.New(bytes.NewBufferString(""), "", 0)
testProxyServer = httptest.NewServer(goProxyHandler)
consumerProxyFunc = func(*http.Request) (*url.URL, error) {
return url.Parse(testProxyServer.URL)
}
})
AfterEach(func() {
consumerProxyFunc = nil
if testProxyServer != nil {
testProxyServer.Close()
}
if testServer != nil {