projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '11644-mounts-api'
[arvados.git]
/
services
/
ws
/
router.go
diff --git
a/services/ws/router.go
b/services/ws/router.go
index 13c5ac3db106b508dd79f3108fa8049fd8a899f5..15b825f2abfa293f8ba2734f57508ba9306a03af 100644
(file)
--- a/
services/ws/router.go
+++ b/
services/ws/router.go
@@
-1,7
+1,6
@@
package main
import (
package main
import (
- "database/sql"
"encoding/json"
"io"
"net/http"
"encoding/json"
"io"
"net/http"
@@
-10,6
+9,7
@@
import (
"sync/atomic"
"time"
"sync/atomic"
"time"
+ "git.curoverse.com/arvados.git/sdk/go/ctxlog"
"github.com/Sirupsen/logrus"
"golang.org/x/net/websocket"
)
"github.com/Sirupsen/logrus"
"golang.org/x/net/websocket"
)
@@
-45,8
+45,6
@@
type debugStatuser interface {
DebugStatus() interface{}
}
DebugStatus() interface{}
}
-type sessionFactory func(wsConn, chan<- interface{}, *sql.DB, permChecker) (session, error)
-
func (rtr *router) setup() {
rtr.handler = &handler{
PingTimeout: rtr.Config.PingTimeout.Duration(),
func (rtr *router) setup() {
rtr.handler = &handler{
PingTimeout: rtr.Config.PingTimeout.Duration(),
@@
-71,12
+69,12
@@
func (rtr *router) makeServer(newSession sessionFactory) *websocket.Server {
stats := rtr.handler.Handle(ws, rtr.eventSource,
func(ws wsConn, sendq chan<- interface{}) (session, error) {
stats := rtr.handler.Handle(ws, rtr.eventSource,
func(ws wsConn, sendq chan<- interface{}) (session, error) {
- return newSession(ws, sendq, rtr.eventSource.DB(), rtr.newPermChecker())
+ return newSession(ws, sendq, rtr.eventSource.DB(), rtr.newPermChecker()
, &rtr.Config.Client
)
})
log.WithFields(logrus.Fields{
})
log.WithFields(logrus.Fields{
- "
E
lapsed": time.Now().Sub(t0).Seconds(),
- "
S
tats": stats,
+ "
e
lapsed": time.Now().Sub(t0).Seconds(),
+ "
s
tats": stats,
}).Info("disconnect")
ws.Close()
}),
}).Info("disconnect")
ws.Close()
}),
@@
-118,11
+116,11
@@
func (rtr *router) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
logger := logger(req.Context()).
WithField("RequestID", rtr.newReqID())
logger := logger(req.Context()).
WithField("RequestID", rtr.newReqID())
- ctx := c
ontextWithLogger
(req.Context(), logger)
+ ctx := c
txlog.Context
(req.Context(), logger)
req = req.WithContext(ctx)
logger.WithFields(logrus.Fields{
req = req.WithContext(ctx)
logger.WithFields(logrus.Fields{
- "
R
emoteAddr": req.RemoteAddr,
- "
X-Forwarded-
For": req.Header.Get("X-Forwarded-For"),
+ "
r
emoteAddr": req.RemoteAddr,
+ "
reqForwarded
For": req.Header.Get("X-Forwarded-For"),
}).Info("accept request")
rtr.mux.ServeHTTP(resp, req)
}
}).Info("accept request")
rtr.mux.ServeHTTP(resp, req)
}
@@
-130,6
+128,7
@@
func (rtr *router) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
func jsonHandler(fn func() interface{}) http.HandlerFunc {
return func(resp http.ResponseWriter, req *http.Request) {
logger := logger(req.Context())
func jsonHandler(fn func() interface{}) http.HandlerFunc {
return func(resp http.ResponseWriter, req *http.Request) {
logger := logger(req.Context())
+ resp.Header().Set("Content-Type", "application/json")
enc := json.NewEncoder(resp)
err := enc.Encode(fn())
if err != nil {
enc := json.NewEncoder(resp)
err := enc.Encode(fn())
if err != nil {