Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(136)

Side by Side Diff: state/api/server.go

Issue 7358045: state/api: optionally log messages
Patch Set: state/api: optionally log messages Created 12 years, 1 month ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « [revision details] ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 package api 1 package api
2 2
3 import ( 3 import (
4 "code.google.com/p/go.net/websocket" 4 "code.google.com/p/go.net/websocket"
5 "crypto/tls" 5 "crypto/tls"
6 "encoding/json" 6 "encoding/json"
7 "io" 7 "io"
8 "launchpad.net/juju-core/log" 8 "launchpad.net/juju-core/log"
9 "launchpad.net/juju-core/rpc" 9 "launchpad.net/juju-core/rpc"
10 "launchpad.net/juju-core/state" 10 "launchpad.net/juju-core/state"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 for _ = range msgs { 100 for _ = range msgs {
101 } 101 }
102 }() 102 }()
103 return srv.rpcSrv.ServeCodec(&serverCodec{ 103 return srv.rpcSrv.ServeCodec(&serverCodec{
104 srv: srv, 104 srv: srv,
105 conn: conn, 105 conn: conn,
106 msgs: msgs, 106 msgs: msgs,
107 }, newStateServer(srv, conn)) 107 }, newStateServer(srv, conn))
108 } 108 }
109 109
110 var logRequests = true
111
110 func readRequests(conn *websocket.Conn, c chan<- serverReq) { 112 func readRequests(conn *websocket.Conn, c chan<- serverReq) {
111 defer close(c) 113 defer close(c)
112 var req serverReq 114 var req serverReq
113 for { 115 for {
116 var err error
114 req = serverReq{} // avoid any potential cross-message contamina tion. 117 req = serverReq{} // avoid any potential cross-message contamina tion.
115 » » err := websocket.JSON.Receive(conn, &req) 118 » » if logRequests {
119 » » » var m json.RawMessage
120 » » » err = websocket.JSON.Receive(conn, &m)
121 » » » if err == nil {
122 » » » » log.Debugf("api: <- %s", m)
123 » » » » err = json.Unmarshal(m, &req)
124 » » » } else {
125 » » » » log.Debugf("api: <- error: %v", err)
126 » » » }
127 » » } else {
128 » » » err = websocket.JSON.Receive(conn, &req)
129 » » }
116 if err == io.EOF { 130 if err == io.EOF {
117 break 131 break
118 } 132 }
119 if err != nil { 133 if err != nil {
120 log.Printf("api: error receiving request: %v", err) 134 log.Printf("api: error receiving request: %v", err)
121 break 135 break
122 } 136 }
123 c <- req 137 c <- req
124 } 138 }
125 } 139 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 } 177 }
164 178
165 func (c *serverCodec) ReadRequestBody(body interface{}) error { 179 func (c *serverCodec) ReadRequestBody(body interface{}) error {
166 if body == nil { 180 if body == nil {
167 return nil 181 return nil
168 } 182 }
169 return json.Unmarshal(c.req.Params, body) 183 return json.Unmarshal(c.req.Params, body)
170 } 184 }
171 185
172 func (c *serverCodec) WriteResponse(resp *rpc.Response, body interface{}) error { 186 func (c *serverCodec) WriteResponse(resp *rpc.Response, body interface{}) error {
173 » return websocket.JSON.Send(c.conn, &serverResp{ 187 » r := &serverResp{
174 RequestId: resp.RequestId, 188 RequestId: resp.RequestId,
175 Error: resp.Error, 189 Error: resp.Error,
176 Response: body, 190 Response: body,
177 » }) 191 » }
192 » if logRequests {
193 » » data, err := json.Marshal(r)
194 » » if err != nil {
195 » » » log.Debugf("api: -> marshal error: %v", err)
196 » » » return err
197 » » }
198 » » log.Debugf("api: -> %s", data)
199 » }
200 » return websocket.JSON.Send(c.conn, r)
178 } 201 }
OLDNEW
« no previous file with comments | « [revision details] ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b