@@ -13,9 +13,9 @@ import (
13
13
"strings"
14
14
"sync"
15
15
16
+ "github.com/bradfitz/http2"
16
17
"github.com/mattn/go-colorable"
17
18
"golang.org/x/net/websocket"
18
- "github.com/bradfitz/http2"
19
19
)
20
20
21
21
type (
34
34
debug bool
35
35
}
36
36
HTTPError struct {
37
- Code int
38
- Message string
37
+ code int
38
+ message string
39
39
}
40
40
Middleware interface {}
41
41
MiddlewareFunc func (HandlerFunc ) HandlerFunc
@@ -123,15 +123,21 @@ var (
123
123
)
124
124
125
125
func NewHTTPError (code int , msg ... string ) * HTTPError {
126
- he := & HTTPError {Code : code , Message : http .StatusText (code )}
126
+ he := & HTTPError {code : code , message : http .StatusText (code )}
127
127
for _ , m := range msg {
128
- he .Message = m
128
+ he .message = m
129
129
}
130
130
return he
131
131
}
132
132
133
+ // Code returns code.
134
+ func (e * HTTPError ) Code () int {
135
+ return e .code
136
+ }
137
+
138
+ // Error returns message.
133
139
func (e * HTTPError ) Error () string {
134
- return e .Message
140
+ return e .message
135
141
}
136
142
137
143
// New creates an Echo instance.
@@ -157,13 +163,13 @@ func New() (e *Echo) {
157
163
code := http .StatusInternalServerError
158
164
msg := http .StatusText (code )
159
165
if he , ok := err .(* HTTPError ); ok {
160
- code = he .Code
161
- msg = he .Message
166
+ code = he .code
167
+ msg = he .message
162
168
}
163
169
if e .Debug () {
164
170
msg = err .Error ()
165
171
}
166
- http .Error (c .Response , msg , code )
172
+ http .Error (c .response , msg , code )
167
173
})
168
174
e .SetBinder (func (r * http.Request , v interface {}) error {
169
175
ct := r .Header .Get (ContentType )
@@ -283,12 +289,12 @@ func (e *Echo) WebSocket(path string, h HandlerFunc) {
283
289
e .Get (path , func (c * Context ) (err error ) {
284
290
wss := websocket.Server {
285
291
Handler : func (ws * websocket.Conn ) {
286
- c .Socket = ws
287
- c .Response .status = http .StatusSwitchingProtocols
292
+ c .socket = ws
293
+ c .response .status = http .StatusSwitchingProtocols
288
294
err = h (c )
289
295
},
290
296
}
291
- wss .ServeHTTP (c .Response .writer , c .Request )
297
+ wss .ServeHTTP (c .response .writer , c .request )
292
298
return err
293
299
})
294
300
}
@@ -313,15 +319,15 @@ func (e *Echo) Favicon(file string) {
313
319
func (e * Echo ) Static (path , root string ) {
314
320
fs := http .StripPrefix (path , http .FileServer (http .Dir (root )))
315
321
e .Get (path + "*" , func (c * Context ) error {
316
- fs .ServeHTTP (c .Response , c .Request )
322
+ fs .ServeHTTP (c .response , c .request )
317
323
return nil
318
324
})
319
325
}
320
326
321
327
// ServeFile serves a file.
322
328
func (e * Echo ) ServeFile (path , file string ) {
323
329
e .Get (path , func (c * Context ) error {
324
- http .ServeFile (c .Response , c .Request , file )
330
+ http .ServeFile (c .response , c .request , file )
325
331
return nil
326
332
})
327
333
}
@@ -399,17 +405,17 @@ func (e *Echo) RunTLSServer(srv *http.Server, certFile, keyFile string) {
399
405
e .run (srv , certFile , keyFile )
400
406
}
401
407
402
- func (e * Echo ) run (s * http.Server , f ... string ) {
408
+ func (e * Echo ) run (s * http.Server , files ... string ) {
403
409
s .Handler = e
404
410
if e .http2 {
405
411
http2 .ConfigureServer (s , nil )
406
412
}
407
- if len (f ) == 0 {
413
+ if len (files ) == 0 {
408
414
log .Fatal (s .ListenAndServe ())
409
- } else if len (f ) == 2 {
410
- log .Fatal (s .ListenAndServeTLS (f [0 ], f [1 ]))
415
+ } else if len (files ) == 2 {
416
+ log .Fatal (s .ListenAndServeTLS (files [0 ], files [1 ]))
411
417
} else {
412
- log .Fatal ("echo: invalid TLS configuration" )
418
+ log .Fatal ("echo => invalid TLS configuration" )
413
419
}
414
420
}
415
421
@@ -428,10 +434,10 @@ func wrapMiddleware(m Middleware) MiddlewareFunc {
428
434
return func (h HandlerFunc ) HandlerFunc {
429
435
return func (c * Context ) (err error ) {
430
436
m (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
431
- c .Response .writer = w
432
- c .Request = r
437
+ c .response .writer = w
438
+ c .request = r
433
439
err = h (c )
434
- })).ServeHTTP (c .Response .writer , c .Request )
440
+ })).ServeHTTP (c .response .writer , c .request )
435
441
return
436
442
}
437
443
}
@@ -462,8 +468,8 @@ func wrapHandlerFuncMW(m HandlerFunc) MiddlewareFunc {
462
468
func wrapHTTPHandlerFuncMW (m http.HandlerFunc ) MiddlewareFunc {
463
469
return func (h HandlerFunc ) HandlerFunc {
464
470
return func (c * Context ) error {
465
- if ! c .Response .committed {
466
- m .ServeHTTP (c .Response .writer , c .Request )
471
+ if ! c .response .committed {
472
+ m .ServeHTTP (c .response .writer , c .request )
467
473
}
468
474
return h (c )
469
475
}
@@ -479,12 +485,12 @@ func wrapHandler(h Handler) HandlerFunc {
479
485
return h
480
486
case http.Handler , http.HandlerFunc :
481
487
return func (c * Context ) error {
482
- h .(http.Handler ).ServeHTTP (c .Response , c .Request )
488
+ h .(http.Handler ).ServeHTTP (c .response , c .request )
483
489
return nil
484
490
}
485
491
case func (http.ResponseWriter , * http.Request ):
486
492
return func (c * Context ) error {
487
- h (c .Response , c .Request )
493
+ h (c .response , c .request )
488
494
return nil
489
495
}
490
496
default :
0 commit comments