From dbd1e8e2306e775826371c43dab7e5f642b4ab57 Mon Sep 17 00:00:00 2001 From: Vishal Rana Date: Sat, 9 Jan 2016 09:44:18 -0800 Subject: [PATCH] Separated recipes from the main repo Signed-off-by: Vishal Rana --- context_test.go | 131 +++-- echo.go | 36 +- echo_test.go | 176 ++---- group_test.go | 1 - middleware/auth_test.go | 4 +- middleware/logger.go | 4 +- recipes/embed-resources/.gitignore | 2 - recipes/embed-resources/app/index.html | 11 - recipes/embed-resources/app/main.js | 1 - recipes/file-upload/public/index.html | 17 - recipes/google-app-engine/Dockerfile | 7 - recipes/google-app-engine/app-engine.go | 18 - recipes/google-app-engine/app-engine.yaml | 36 -- recipes/google-app-engine/app-managed.go | 29 - recipes/google-app-engine/app-managed.yaml | 37 -- recipes/google-app-engine/app-standalone.go | 25 - recipes/google-app-engine/app.go | 4 - recipes/google-app-engine/public/favicon.ico | Bin 1150 -> 0 bytes recipes/google-app-engine/public/index.html | 15 - .../google-app-engine/public/scripts/main.js | 1 - .../google-app-engine/templates/welcome.html | 1 - recipes/jsonp/public/index.html | 36 -- recipes/jwt-authentication/token/token.go | 24 - .../streaming-file-upload/public/index.html | 17 - recipes/website/public/favicon.ico | Bin 1150 -> 0 bytes recipes/website/public/folder/index.html | 1 - recipes/website/public/index.html | 15 - recipes/website/public/scripts/main.js | 1 - recipes/website/public/views/welcome.html | 1 - recipes/websocket/public/index.html | 37 -- router.go | 13 - router_test.go | 528 +++++++++--------- test/fixture/walle.png | Bin 219885 -> 0 bytes website/Dockerfile | 8 +- website/argo.json | 14 + website/content/recipes/crud.md | 2 +- website/content/recipes/embed-resources.md | 2 +- website/content/recipes/file-upload.md | 2 +- website/content/recipes/google-app-engine.md | 2 +- website/content/recipes/graceful-shutdown.md | 4 +- website/content/recipes/hello-world.md | 2 +- website/content/recipes/jsonp.md | 2 +- website/content/recipes/jwt-authentication.md | 2 +- website/content/recipes/middleware.md | 2 +- .../content/recipes/streaming-file-upload.md | 2 +- website/content/recipes/streaming-response.md | 2 +- website/content/recipes/subdomains.md | 2 +- website/content/recipes/website.md | 2 +- website/content/recipes/websocket.md | 2 +- website/layouts/shortcodes/embed.html | 2 +- website/package.json | 1 - website/server.go | 17 - 52 files changed, 424 insertions(+), 877 deletions(-) delete mode 100644 recipes/embed-resources/.gitignore delete mode 100644 recipes/embed-resources/app/index.html delete mode 100644 recipes/embed-resources/app/main.js delete mode 100644 recipes/file-upload/public/index.html delete mode 100644 recipes/google-app-engine/Dockerfile delete mode 100644 recipes/google-app-engine/app-engine.go delete mode 100644 recipes/google-app-engine/app-engine.yaml delete mode 100644 recipes/google-app-engine/app-managed.go delete mode 100644 recipes/google-app-engine/app-managed.yaml delete mode 100644 recipes/google-app-engine/app-standalone.go delete mode 100644 recipes/google-app-engine/app.go delete mode 100644 recipes/google-app-engine/public/favicon.ico delete mode 100644 recipes/google-app-engine/public/index.html delete mode 100644 recipes/google-app-engine/public/scripts/main.js delete mode 100644 recipes/google-app-engine/templates/welcome.html delete mode 100644 recipes/jsonp/public/index.html delete mode 100644 recipes/jwt-authentication/token/token.go delete mode 100644 recipes/streaming-file-upload/public/index.html delete mode 100644 recipes/website/public/favicon.ico delete mode 100644 recipes/website/public/folder/index.html delete mode 100644 recipes/website/public/index.html delete mode 100644 recipes/website/public/scripts/main.js delete mode 100644 recipes/website/public/views/welcome.html delete mode 100644 recipes/websocket/public/index.html delete mode 100644 test/fixture/walle.png create mode 100644 website/argo.json delete mode 100644 website/package.json delete mode 100644 website/server.go diff --git a/context_test.go b/context_test.go index ce0ef9e9..108f051d 100644 --- a/context_test.go +++ b/context_test.go @@ -4,7 +4,6 @@ import ( "errors" "io" "net/http" - "net/http/httptest" "testing" "text/template" @@ -14,6 +13,7 @@ import ( "encoding/xml" + "github.com/labstack/echo/test" "github.com/stretchr/testify/assert" ) @@ -36,9 +36,9 @@ func TestContext(t *testing.T) { var nonMarshallableChannel chan bool e := New() - req, _ := http.NewRequest(POST, "/", strings.NewReader(userJSON)) - rec := httptest.NewRecorder() - c := NewContext(req, NewResponse(rec, e), e).X() + req := test.NewRequest(POST, "/", strings.NewReader(userJSON)) + rec := test.NewResponseRecorder() + c := NewContext(req, rec, e) // Request assert.NotNil(t, c.Request()) @@ -50,8 +50,8 @@ func TestContext(t *testing.T) { assert.Nil(t, c.Socket()) // Param by id - c.pnames = []string{"id"} - c.pvalues = []string{"1"} + c.X().pnames = []string{"id"} + c.X().pvalues = []string{"1"} assert.Equal(t, "1", c.P(0)) // Param by name @@ -69,7 +69,7 @@ func TestContext(t *testing.T) { testBind(t, c, "application/json") // XML - c.request, _ = http.NewRequest(POST, "/", strings.NewReader(userXML)) + c.X().request = test.NewRequest(POST, "/", strings.NewReader(userXML)) testBind(t, c, ApplicationXML) // Unsupported @@ -82,151 +82,151 @@ func TestContext(t *testing.T) { tpl := &Template{ templates: template.Must(template.New("hello").Parse("Hello, {{.}}!")), } - c.echo.SetRenderer(tpl) + c.X().echo.SetRenderer(tpl) err := c.Render(http.StatusOK, "hello", "Joe") if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, "Hello, Joe!", rec.Body.String()) } - c.echo.renderer = nil + c.X().echo.renderer = nil err = c.Render(http.StatusOK, "hello", "Joe") assert.Error(t, err) // JSON - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.JSON(http.StatusOK, user{"1", "Joe"}) if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, ApplicationJSONCharsetUTF8, rec.Header().Get(ContentType)) assert.Equal(t, userJSON, rec.Body.String()) } // JSON (error) - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) val := make(chan bool) err = c.JSON(http.StatusOK, val) assert.Error(t, err) // JSONIndent - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.JSONIndent(http.StatusOK, user{"1", "Joe"}, "_", "?") if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, ApplicationJSONCharsetUTF8, rec.Header().Get(ContentType)) assert.Equal(t, userJSONIndent, rec.Body.String()) } // JSONIndent (error) - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.JSONIndent(http.StatusOK, nonMarshallableChannel, "_", "?") assert.Error(t, err) // JSONP - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) callback := "callback" err = c.JSONP(http.StatusOK, callback, user{"1", "Joe"}) if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, ApplicationJavaScriptCharsetUTF8, rec.Header().Get(ContentType)) assert.Equal(t, callback+"("+userJSON+");", rec.Body.String()) } // XML - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.XML(http.StatusOK, user{"1", "Joe"}) if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, ApplicationXMLCharsetUTF8, rec.Header().Get(ContentType)) assert.Equal(t, xml.Header+userXML, rec.Body.String()) } // XML (error) - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.XML(http.StatusOK, nonMarshallableChannel) assert.Error(t, err) // XMLIndent - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.XMLIndent(http.StatusOK, user{"1", "Joe"}, "_", "?") if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, ApplicationXMLCharsetUTF8, rec.Header().Get(ContentType)) assert.Equal(t, xml.Header+userXMLIndent, rec.Body.String()) } // XMLIndent (error) - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.XMLIndent(http.StatusOK, nonMarshallableChannel, "_", "?") assert.Error(t, err) // String - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.String(http.StatusOK, "Hello, World!") if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, TextPlainCharsetUTF8, rec.Header().Get(ContentType)) assert.Equal(t, "Hello, World!", rec.Body.String()) } // HTML - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) err = c.HTML(http.StatusOK, "Hello, World!") if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, TextHTMLCharsetUTF8, rec.Header().Get(ContentType)) assert.Equal(t, "Hello, World!", rec.Body.String()) } // File - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() - err = c.File("test/fixture/walle.png", "", false) + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) + err = c.File("testing/fixture/walle.png", "", false) if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, 219885, rec.Body.Len()) } // File as attachment - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() - err = c.File("test/fixture/walle.png", "WALLE.PNG", true) + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) + err = c.File("testing/fixture/walle.png", "WALLE.PNG", true) if assert.NoError(t, err) { - assert.Equal(t, http.StatusOK, rec.Code) + assert.Equal(t, http.StatusOK, rec.Status()) assert.Equal(t, rec.Header().Get(ContentDisposition), "attachment; filename=WALLE.PNG") assert.Equal(t, 219885, rec.Body.Len()) } // NoContent - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) c.NoContent(http.StatusOK) - assert.Equal(t, http.StatusOK, c.response.status) + assert.Equal(t, http.StatusOK, c.Response().Status()) // Redirect - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e) assert.Equal(t, nil, c.Redirect(http.StatusMovedPermanently, "http://labstack.github.io/echo")) // Error - rec = httptest.NewRecorder() - c = NewContext(req, NewResponse(rec, e), e).X() + rec = test.NewResponseRecorder() + c = NewContext(req, rec, e).X() c.Error(errors.New("error")) - assert.Equal(t, http.StatusInternalServerError, c.response.status) + assert.Equal(t, http.StatusInternalServerError, c.Response().Status()) // reset - c.reset(req, NewResponse(httptest.NewRecorder(), e), e) + c.X().reset(req, test.NewResponseRecorder(), e) } func TestContextPath(t *testing.T) { @@ -234,12 +234,12 @@ func TestContextPath(t *testing.T) { r := e.Router() r.Add(GET, "/users/:id", nil, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) r.Find(GET, "/users/1", c) assert.Equal(t, c.Path(), "/users/:id") r.Add(GET, "/users/:uid/files/:fid", nil, e) - c = NewContext(nil, nil, e).X() + c = NewContext(nil, nil, e) r.Find(GET, "/users/1/files/1", c) assert.Equal(t, c.Path(), "/users/:uid/files/:fid") } @@ -248,11 +248,7 @@ func TestContextQuery(t *testing.T) { q := make(url.Values) q.Set("name", "joe") q.Set("email", "joe@labstack.com") - - req, err := http.NewRequest(GET, "/", nil) - assert.NoError(t, err) - req.URL.RawQuery = q.Encode() - + req := test.NewRequest(GET, "/?"+q.Encode(), nil) c := NewContext(req, nil, New()) assert.Equal(t, "joe", c.Query("name")) assert.Equal(t, "joe@labstack.com", c.Query("email")) @@ -263,9 +259,8 @@ func TestContextForm(t *testing.T) { f.Set("name", "joe") f.Set("email", "joe@labstack.com") - req, err := http.NewRequest(POST, "/", strings.NewReader(f.Encode())) - assert.NoError(t, err) - req.Header.Add(ContentType, ApplicationForm) + req := test.NewRequest(POST, "/", strings.NewReader(f.Encode())) + req.Header().Add(ContentType, ApplicationForm) c := NewContext(req, nil, New()) assert.Equal(t, "joe", c.Form("name")) @@ -278,8 +273,8 @@ func TestContextNetContext(t *testing.T) { // assert.Equal(t, "val", c.Value("key")) } -func testBind(t *testing.T, c *context, ct string) { - c.request.Header.Set(ContentType, ct) +func testBind(t *testing.T, c Context, ct string) { + c.Request().Header().Set(ContentType, ct) u := new(user) err := c.Bind(u) if ct == "" { diff --git a/echo.go b/echo.go index 8683bfba..ce6d8015 100644 --- a/echo.go +++ b/echo.go @@ -203,21 +203,19 @@ func New() (e *Echo) { e.HTTP2(true) e.defaultHTTPErrorHandler = func(err error, c Context) { - // TODO: v2 - // x := c.X() - // code := http.StatusInternalServerError - // msg := http.StatusText(code) - // if he, ok := err.(*HTTPError); ok { - // code = he.code - // msg = he.message - // } - // if e.debug { - // msg = err.Error() - // } - // if !x.response.Committed() { - // http.Error(x.response, msg, code) - // } - // e.logger.Error(err) + code := http.StatusInternalServerError + msg := http.StatusText(code) + if he, ok := err.(*HTTPError); ok { + code = he.code + msg = he.message + } + if e.debug { + msg = err.Error() + } + if !c.Response().Committed() { + c.String(code, msg) + } + e.logger.Error(err) } e.SetHTTPErrorHandler(e.defaultHTTPErrorHandler) e.SetBinder(&binder{}) @@ -410,15 +408,13 @@ func (e *Echo) ServeFile(path, file string) { } func (e *Echo) serveFile(dir, file string, c Context) (err error) { - // TODO: v2 - // x := c.X() // fs := http.Dir(dir) // f, err := fs.Open(file) // if err != nil { // return NewHTTPError(http.StatusNotFound) // } // defer f.Close() - // + // fi, _ := f.Stat() // if fi.IsDir() { // /* NOTE: @@ -426,7 +422,7 @@ func (e *Echo) serveFile(dir, file string, c Context) (err error) { // changing differnt directories for the same path. // */ // d := f - // + // // Index file // file = filepath.Join(file, indexPage) // f, err = fs.Open(file) @@ -439,7 +435,7 @@ func (e *Echo) serveFile(dir, file string, c Context) (err error) { // } // fi, _ = f.Stat() // Index file stat // } - // http.ServeContent(x.response, x.request, fi.Name(), fi.ModTime(), f) + // http.ServeContent(c.Response(), c.Request(), fi.Name(), fi.ModTime(), f) return } diff --git a/echo_test.go b/echo_test.go index 6fb77dab..bd12b8ab 100644 --- a/echo_test.go +++ b/echo_test.go @@ -12,8 +12,9 @@ import ( "errors" + "github.com/labstack/echo/engine" + "github.com/labstack/echo/test" "github.com/stretchr/testify/assert" - "golang.org/x/net/websocket" ) type ( @@ -25,9 +26,9 @@ type ( func TestEcho(t *testing.T) { e := New() - req, _ := http.NewRequest(GET, "/", nil) - rec := httptest.NewRecorder() - c := NewContext(req, NewResponse(rec, e), e) + req := test.NewRequest(GET, "/", nil) + rec := test.NewResponseRecorder() + c := NewContext(req, rec, e) // Router assert.NotNil(t, e.Router()) @@ -38,7 +39,7 @@ func TestEcho(t *testing.T) { // DefaultHTTPErrorHandler e.DefaultHTTPErrorHandler(errors.New("error"), c) - assert.Equal(t, http.StatusInternalServerError, rec.Code) + assert.Equal(t, http.StatusInternalServerError, rec.Status()) } func TestEchoIndex(t *testing.T) { @@ -92,15 +93,13 @@ func TestEchoMiddleware(t *testing.T) { e := New() buf := new(bytes.Buffer) - // echo.MiddlewareFunc - e.Use(MiddlewareFunc(func(h HandlerFunc) HandlerFunc { + e.Use(func(h HandlerFunc) HandlerFunc { return func(c Context) error { buf.WriteString("a") return h(c) } - })) + }) - // func(echo.HandlerFunc) echo.HandlerFunc e.Use(func(h HandlerFunc) HandlerFunc { return func(c Context) error { buf.WriteString("b") @@ -108,59 +107,28 @@ func TestEchoMiddleware(t *testing.T) { } }) - // echo.HandlerFunc - e.Use(HandlerFunc(func(c Context) error { - buf.WriteString("c") - return nil - })) - - // func(*echo.Context) error - e.Use(func(c Context) error { - buf.WriteString("d") - return nil - }) - - // func(http.Handler) http.Handler - e.Use(func(h http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - buf.WriteString("e") - h.ServeHTTP(w, r) - }) - }) - - // http.Handler - e.Use(http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - buf.WriteString("f") - }))) - - // http.HandlerFunc - e.Use(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - buf.WriteString("g") - })) - - // func(http.ResponseWriter, *http.Request) - e.Use(func(w http.ResponseWriter, r *http.Request) { - buf.WriteString("h") - }) - - // Unknown - assert.Panics(t, func() { - e.Use(nil) + e.Use(func(h HandlerFunc) HandlerFunc { + return func(c Context) error { + buf.WriteString("c") + return h(c) + } }) // Route e.Get("/", func(c Context) error { - return c.String(http.StatusOK, "Hello!") + return c.String(http.StatusOK, "OK") }) c, b := request(GET, "/", e) - assert.Equal(t, "abcdefgh", buf.String()) + assert.Equal(t, "abc", buf.String()) assert.Equal(t, http.StatusOK, c) - assert.Equal(t, "Hello!", b) + assert.Equal(t, "OK", b) // Error - e.Use(func(Context) error { - return errors.New("error") + e.Use(func(h HandlerFunc) HandlerFunc { + return func(c Context) error { + return errors.New("error") + } }) c, b = request(GET, "/", e) assert.Equal(t, http.StatusInternalServerError, c) @@ -170,35 +138,13 @@ func TestEchoHandler(t *testing.T) { e := New() // HandlerFunc - e.Get("/1", HandlerFunc(func(c Context) error { - return c.String(http.StatusOK, "1") + e.Get("/ok", HandlerFunc(func(c Context) error { + return c.String(http.StatusOK, "OK") })) - // func(*echo.Context) error - e.Get("/2", func(c Context) error { - return c.String(http.StatusOK, "2") - }) - - // http.Handler/http.HandlerFunc - e.Get("/3", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("3")) - })) - - // func(http.ResponseWriter, *http.Request) - e.Get("/4", func(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("4")) - }) - - for _, p := range []string{"1", "2", "3", "4"} { - c, b := request(GET, "/"+p, e) - assert.Equal(t, http.StatusOK, c) - assert.Equal(t, p, b) - } - - // Unknown - assert.Panics(t, func() { - e.Get("/5", nil) - }) + c, b := request(GET, "/ok", e) + assert.Equal(t, http.StatusOK, c) + assert.Equal(t, "OK", b) } func TestEchoConnect(t *testing.T) { @@ -260,28 +206,6 @@ func TestEchoMatch(t *testing.T) { // JFC }) } -func TestEchoWebSocket(t *testing.T) { - e := New() - e.WebSocket("/ws", func(c Context) error { - x := c.X() - x.socket.Write([]byte("test")) - return nil - }) - srv := httptest.NewServer(e) - defer srv.Close() - addr := srv.Listener.Addr().String() - origin := "http://localhost" - url := fmt.Sprintf("ws://%s/ws", addr) - ws, err := websocket.Dial(url, "", origin) - if assert.NoError(t, err) { - ws.Write([]byte("test")) - defer ws.Close() - buf := new(bytes.Buffer) - buf.ReadFrom(ws) - assert.Equal(t, "test", buf.String()) - } -} - func TestEchoURL(t *testing.T) { e := New() @@ -303,15 +227,16 @@ func TestEchoURL(t *testing.T) { func TestEchoRoutes(t *testing.T) { e := New() - h := func(Context) error { return nil } routes := []Route{ - {GET, "/users/:user/events", h}, - {GET, "/users/:user/events/public", h}, - {POST, "/repos/:owner/:repo/git/refs", h}, - {POST, "/repos/:owner/:repo/git/tags", h}, + {GET, "/users/:user/events", ""}, + {GET, "/users/:user/events/public", ""}, + {POST, "/repos/:owner/:repo/git/refs", ""}, + {POST, "/repos/:owner/:repo/git/tags", ""}, } for _, r := range routes { - e.add(r.Method, r.Path, h) + e.add(r.Method, r.Path, func(c Context) error { + return c.String(http.StatusOK, "OK") + }) } for i, r := range e.Routes() { @@ -323,9 +248,11 @@ func TestEchoRoutes(t *testing.T) { func TestEchoGroup(t *testing.T) { e := New() buf := new(bytes.Buffer) - e.Use(func(Context) error { - buf.WriteString("0") - return nil + e.Use(func(h HandlerFunc) HandlerFunc { + return func(c Context) error { + buf.WriteString("a") + return h(c) + } }) h := func(Context) error { return nil } @@ -337,28 +264,33 @@ func TestEchoGroup(t *testing.T) { // Group g1 := e.Group("/group1") - g1.Use(func(Context) error { - buf.WriteString("1") - return nil + g1.Use(func(h HandlerFunc) HandlerFunc { + return func(c Context) error { + buf.WriteString("1") + return h(c) + } }) g1.Get("/", h) // Group with no parent middleware - g2 := e.Group("/group2", func(Context) error { - buf.WriteString("2") - return nil + g2 := e.Group("/group2", func(h HandlerFunc) HandlerFunc { + return func(c Context) error { + buf.WriteString("2") + return h(c) + } }) g2.Get("/", h) // Nested groups g3 := e.Group("/group3") g4 := g3.Group("/group4") - g4.Get("/", func(c Context) error { - return c.NoContent(http.StatusOK) + g4.Use(func(h HandlerFunc) HandlerFunc { + return func(c Context) error { + return c.NoContent(http.StatusOK) + } }) request(GET, "/users", e) - // println(len(e.middleware)) assert.Equal(t, "0", buf.String()) buf.Reset() @@ -412,11 +344,11 @@ func TestEchoHook(t *testing.T) { e.Get("/test", func(c Context) error { return c.NoContent(http.StatusNoContent) }) - e.Hook(func(w http.ResponseWriter, r *http.Request) { - path := r.URL.Path + e.Hook(func(req engine.Request, res engine.Response) { + path := req.URL().Path() l := len(path) - 1 if path != "/" && path[l] == '/' { - r.URL.Path = path[:l] + // req.URL().Path() = path[:l] } }) r, _ := http.NewRequest(GET, "/test/", nil) diff --git a/group_test.go b/group_test.go index cbe19854..6fb9369f 100644 --- a/group_test.go +++ b/group_test.go @@ -14,7 +14,6 @@ func TestGroup(t *testing.T) { g.Post("/", h) g.Put("/", h) g.Trace("/", h) - g.WebSocket("/ws", h) g.Static("/scripts", "scripts") g.ServeDir("/scripts", "scripts") g.ServeFile("/scripts/main.js", "scripts/main.js") diff --git a/middleware/auth_test.go b/middleware/auth_test.go index d8b80c97..157d0703 100644 --- a/middleware/auth_test.go +++ b/middleware/auth_test.go @@ -25,7 +25,7 @@ func TestBasicAuth(t *testing.T) { // Valid credentials auth := Basic + " " + base64.StdEncoding.EncodeToString([]byte("joe:secret")) - req.Header.Set(echo.Authorization, auth) + req.Header().Set(echo.Authorization, auth) assert.NoError(t, ba(c)) //--------------------- @@ -34,7 +34,7 @@ func TestBasicAuth(t *testing.T) { // Incorrect password auth = Basic + " " + base64.StdEncoding.EncodeToString([]byte("joe:password")) - req.Header.Set(echo.Authorization, auth) + req.Header().Set(echo.Authorization, auth) he := ba(c).(*echo.HTTPError) assert.Equal(t, http.StatusUnauthorized, he.Code()) assert.Equal(t, Basic+" realm=Restricted", rec.Header().Get(echo.WWWAuthenticate)) diff --git a/middleware/logger.go b/middleware/logger.go index 912d6f35..e98a3e9d 100644 --- a/middleware/logger.go +++ b/middleware/logger.go @@ -15,7 +15,7 @@ func Logger() echo.MiddlewareFunc { res := c.Response() logger := c.Logger() - remoteAddr := req.RemoteAddr + remoteAddr := req.RemoteAddress() if ip := req.Header().Get(echo.XRealIP); ip != "" { remoteAddr = ip } else if ip = req.Header().Get(echo.XForwardedFor); ip != "" { @@ -30,7 +30,7 @@ func Logger() echo.MiddlewareFunc { } stop := time.Now() method := req.Method - path := req.URL.Path + path := req.URL().Path() if path == "" { path = "/" } diff --git a/recipes/embed-resources/.gitignore b/recipes/embed-resources/.gitignore deleted file mode 100644 index 9524d94f..00000000 --- a/recipes/embed-resources/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -rice -app.rice-box.go diff --git a/recipes/embed-resources/app/index.html b/recipes/embed-resources/app/index.html deleted file mode 100644 index 66aac446..00000000 --- a/recipes/embed-resources/app/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - go.rice Example - - - -

go.rice Example

- - diff --git a/recipes/embed-resources/app/main.js b/recipes/embed-resources/app/main.js deleted file mode 100644 index f888dc5c..00000000 --- a/recipes/embed-resources/app/main.js +++ /dev/null @@ -1 +0,0 @@ -alert("main.js"); diff --git a/recipes/file-upload/public/index.html b/recipes/file-upload/public/index.html deleted file mode 100644 index cdbdb3e5..00000000 --- a/recipes/file-upload/public/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - File Upload - - -

Upload Files

- -
- Name:
- Email:
- Files:

- -
- - diff --git a/recipes/google-app-engine/Dockerfile b/recipes/google-app-engine/Dockerfile deleted file mode 100644 index 5d1c13e5..00000000 --- a/recipes/google-app-engine/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -# Dockerfile extending the generic Go image with application files for a -# single application. -FROM gcr.io/google_appengine/golang - -COPY . /go/src/app -RUN go-wrapper download -RUN go-wrapper install -tags appenginevm \ No newline at end of file diff --git a/recipes/google-app-engine/app-engine.go b/recipes/google-app-engine/app-engine.go deleted file mode 100644 index ddbf3944..00000000 --- a/recipes/google-app-engine/app-engine.go +++ /dev/null @@ -1,18 +0,0 @@ -// +build appengine - -package main - -import ( - "github.com/labstack/echo" - "net/http" -) - -func createMux() *echo.Echo { - e := echo.New() - - // note: we don't need to provide the middleware or static handlers, that's taken care of by the platform - // app engine has it's own "main" wrapper - we just need to hook echo into the default handler - http.Handle("/", e) - - return e -} diff --git a/recipes/google-app-engine/app-engine.yaml b/recipes/google-app-engine/app-engine.yaml deleted file mode 100644 index e8f5bf05..00000000 --- a/recipes/google-app-engine/app-engine.yaml +++ /dev/null @@ -1,36 +0,0 @@ -application: my-application-id # defined when you create your app using google dev console -module: default # see https://cloud.google.com/appengine/docs/go/ -version: alpha # you can run multiple versions of an app and A/B test -runtime: go # see https://cloud.google.com/appengine/docs/go/ -api_version: go1 # used when appengine supports different go versions - -default_expiration: "1d" # for CDN serving of static files (use url versioning if long!) - -handlers: -# all the static files that we normally serve ourselves are defined here and Google will handle -# serving them for us from it's own CDN / edge locations. For all the configuration options see: -# https://cloud.google.com/appengine/docs/go/config/appconfig#Go_app_yaml_Static_file_handlers -- url: / - mime_type: text/html - static_files: public/index.html - upload: public/index.html - -- url: /favicon.ico - mime_type: image/x-icon - static_files: public/favicon.ico - upload: public/favicon.ico - -- url: /scripts - mime_type: text/javascript - static_dir: public/scripts - -# static files normally don't touch the server that the app runs on but server-side template files -# needs to be readable by the app. The application_readable option makes sure they are available as -# part of the app deployment onto the instance. -- url: /templates - static_dir: /templates - application_readable: true - -# finally, we route all other requests to our application. The script name just means "the go app" -- url: /.* - script: _go_app \ No newline at end of file diff --git a/recipes/google-app-engine/app-managed.go b/recipes/google-app-engine/app-managed.go deleted file mode 100644 index cc5adfbf..00000000 --- a/recipes/google-app-engine/app-managed.go +++ /dev/null @@ -1,29 +0,0 @@ -// +build appenginevm - -package main - -import ( - "github.com/labstack/echo" - "google.golang.org/appengine" - "net/http" - "runtime" -) - -func createMux() *echo.Echo { - // we're in a container on a Google Compute Engine instance so are not sandboxed anymore ... - runtime.GOMAXPROCS(runtime.NumCPU()) - - e := echo.New() - - // note: we don't need to provide the middleware or static handlers - // for the appengine vm version - that's taken care of by the platform - - return e -} - -func main() { - // the appengine package provides a convenient method to handle the health-check requests - // and also run the app on the correct port. We just need to add Echo to the default handler - http.Handle("/", e) - appengine.Main() -} diff --git a/recipes/google-app-engine/app-managed.yaml b/recipes/google-app-engine/app-managed.yaml deleted file mode 100644 index d5da4cd9..00000000 --- a/recipes/google-app-engine/app-managed.yaml +++ /dev/null @@ -1,37 +0,0 @@ -application: my-application-id # defined when you create your app using google dev console -module: default # see https://cloud.google.com/appengine/docs/go/ -version: alpha # you can run multiple versions of an app and A/B test -runtime: go # see https://cloud.google.com/appengine/docs/go/ -api_version: go1 # used when appengine supports different go versions -vm: true # for managed VMs only, remove for appengine classic - -default_expiration: "1d" # for CDN serving of static files (use url versioning if long!) - -handlers: -# all the static files that we normally serve ourselves are defined here and Google will handle -# serving them for us from it's own CDN / edge locations. For all the configuration options see: -# https://cloud.google.com/appengine/docs/go/config/appconfig#Go_app_yaml_Static_file_handlers -- url: / - mime_type: text/html - static_files: public/index.html - upload: public/index.html - -- url: /favicon.ico - mime_type: image/x-icon - static_files: public/favicon.ico - upload: public/favicon.ico - -- url: /scripts - mime_type: text/javascript - static_dir: public/scripts - -# static files normally don't touch the server that the app runs on but server-side template files -# needs to be readable by the app. The application_readable option makes sure they are available as -# part of the app deployment onto the instance. -- url: /templates - static_dir: /templates - application_readable: true - -# finally, we route all other requests to our application. The script name just means "the go app" -- url: /.* - script: _go_app \ No newline at end of file diff --git a/recipes/google-app-engine/app-standalone.go b/recipes/google-app-engine/app-standalone.go deleted file mode 100644 index 0a6881fa..00000000 --- a/recipes/google-app-engine/app-standalone.go +++ /dev/null @@ -1,25 +0,0 @@ -// +build !appengine,!appenginevm - -package main - -import ( - "github.com/labstack/echo" - "github.com/labstack/echo/middleware" -) - -func createMux() *echo.Echo { - e := echo.New() - - e.Use(middleware.Recover()) - e.Use(middleware.Logger()) - e.Use(middleware.Gzip()) - - e.Index("public/index.html") - e.Static("/public", "public") - - return e -} - -func main() { - e.Run(":8080") -} diff --git a/recipes/google-app-engine/app.go b/recipes/google-app-engine/app.go deleted file mode 100644 index 442ed886..00000000 --- a/recipes/google-app-engine/app.go +++ /dev/null @@ -1,4 +0,0 @@ -package main - -// referecnce our echo instance and create it early -var e = createMux() diff --git a/recipes/google-app-engine/public/favicon.ico b/recipes/google-app-engine/public/favicon.ico deleted file mode 100644 index d939ddca12aa14a2fa691e082b14436f18719f6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYI*xgi+L$0S%eIXJ|4d3e=$ zc=$9q*f})W*w{3AxVg1?dHFTCxVU71TG%nQ!9^s*C1e}r6xHtm@dI&j$+JSjqKD-a z)E)x)52d8#mN7Cgr~_3q!*xIzLZXr&7N@L&MvuI*?teKY?f(+eioe7p3-i zipeOb?_p!-lme;)8iNY#y}}th{6lyR9m5aFStkFNx6S&mWS;@V>Hn3T^ZqMa;8qR43_WoB7nfzbbr}e*9NZ)^>jyEcB5D~<+3`sc1>sGYKwp`v5j zgo^Gt|D*C+{(Hxj{P#>K{U4Ck^gq98>i?R)d1sp^&J}2!I2S|z%ALmmsy{F`jln-ARk5h5aYt9* zj16{yc^j0iVpbHkPBBa^s?yiCa9}le@x`haBp8{T%@C22>snl1`#mEv>3=|I+E;tu z_=n{M)i2vSC%z1cPj!k)%D|~VFfN0^CoYq}ptP - - - - - Echo - - - - - -

Echo!

- - - diff --git a/recipes/google-app-engine/public/scripts/main.js b/recipes/google-app-engine/public/scripts/main.js deleted file mode 100644 index 62a4c8f1..00000000 --- a/recipes/google-app-engine/public/scripts/main.js +++ /dev/null @@ -1 +0,0 @@ -console.log("Echo!"); diff --git a/recipes/google-app-engine/templates/welcome.html b/recipes/google-app-engine/templates/welcome.html deleted file mode 100644 index 5dc667c3..00000000 --- a/recipes/google-app-engine/templates/welcome.html +++ /dev/null @@ -1 +0,0 @@ -{{define "welcome"}}Hello, {{.}}!{{end}} diff --git a/recipes/jsonp/public/index.html b/recipes/jsonp/public/index.html deleted file mode 100644 index 033632e9..00000000 --- a/recipes/jsonp/public/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - JSONP - - - - - - -
- -

-


-        

-
- - - diff --git a/recipes/jwt-authentication/token/token.go b/recipes/jwt-authentication/token/token.go deleted file mode 100644 index 0e309ab1..00000000 --- a/recipes/jwt-authentication/token/token.go +++ /dev/null @@ -1,24 +0,0 @@ -package main - -import ( - "fmt" - "time" - - "github.com/dgrijalva/jwt-go" -) - -const SigningKey = "somethingsupersecret" - -func main() { - - // New web token. - token := jwt.New(jwt.SigningMethodHS256) - - // Set a header and a claim - token.Header["typ"] = "JWT" - token.Claims["exp"] = time.Now().Add(time.Hour * 96).Unix() - - // Generate encoded token - t, _ := token.SignedString([]byte(SigningKey)) - fmt.Println(t) -} diff --git a/recipes/streaming-file-upload/public/index.html b/recipes/streaming-file-upload/public/index.html deleted file mode 100644 index cdbdb3e5..00000000 --- a/recipes/streaming-file-upload/public/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - File Upload - - -

Upload Files

- -
- Name:
- Email:
- Files:

- -
- - diff --git a/recipes/website/public/favicon.ico b/recipes/website/public/favicon.ico deleted file mode 100644 index d939ddca12aa14a2fa691e082b14436f18719f6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYI*xgi+L$0S%eIXJ|4d3e=$ zc=$9q*f})W*w{3AxVg1?dHFTCxVU71TG%nQ!9^s*C1e}r6xHtm@dI&j$+JSjqKD-a z)E)x)52d8#mN7Cgr~_3q!*xIzLZXr&7N@L&MvuI*?teKY?f(+eioe7p3-i zipeOb?_p!-lme;)8iNY#y}}th{6lyR9m5aFStkFNx6S&mWS;@V>Hn3T^ZqMa;8qR43_WoB7nfzbbr}e*9NZ)^>jyEcB5D~<+3`sc1>sGYKwp`v5j zgo^Gt|D*C+{(Hxj{P#>K{U4Ck^gq98>i?R)d1sp^&J}2!I2S|z%ALmmsy{F`jln-ARk5h5aYt9* zj16{yc^j0iVpbHkPBBa^s?yiCa9}le@x`haBp8{T%@C22>snl1`#mEv>3=|I+E;tu z_=n{M)i2vSC%z1cPj!k)%D|~VFfN0^CoYq}ptP - - - - - Echo - - - - - -

Echo!

- - - diff --git a/recipes/website/public/scripts/main.js b/recipes/website/public/scripts/main.js deleted file mode 100644 index c3b96d21..00000000 --- a/recipes/website/public/scripts/main.js +++ /dev/null @@ -1 +0,0 @@ -console.log("Echo!") diff --git a/recipes/website/public/views/welcome.html b/recipes/website/public/views/welcome.html deleted file mode 100644 index 5dc667c3..00000000 --- a/recipes/website/public/views/welcome.html +++ /dev/null @@ -1 +0,0 @@ -{{define "welcome"}}Hello, {{.}}!{{end}} diff --git a/recipes/websocket/public/index.html b/recipes/websocket/public/index.html deleted file mode 100644 index 859bd55d..00000000 --- a/recipes/websocket/public/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - WebSocket - - -

- - - - diff --git a/router.go b/router.go index 0a406281..226586c7 100644 --- a/router.go +++ b/router.go @@ -1,7 +1,5 @@ package echo -import "net/http" - type ( Router struct { tree *node @@ -400,14 +398,3 @@ End: } return } - -func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) { - // TODO: v2 - // c := r.echo.pool.Get().(*context) - // h, _ := r.Find(req.Method, req.URL.Path, c) - // c.reset(req, w, r.echo) - // if err := h(c); err != nil { - // r.echo.httpErrorHandler(err, c) - // } - // r.echo.pool.Put(c) -} diff --git a/router_test.go b/router_test.go index dc272667..ebbd27ff 100644 --- a/router_test.go +++ b/router_test.go @@ -3,7 +3,6 @@ package echo import ( "fmt" "net/http" - "net/http/httptest" "testing" "github.com/stretchr/testify/assert" @@ -12,265 +11,265 @@ import ( var ( api = []Route{ // OAuth Authorizations - {"GET", "/authorizations", nil}, - {"GET", "/authorizations/:id", nil}, - {"POST", "/authorizations", nil}, - //{"PUT", "/authorizations/clients/:client_id", nil}, - //{"PATCH", "/authorizations/:id", nil}, - {"DELETE", "/authorizations/:id", nil}, - {"GET", "/applications/:client_id/tokens/:access_token", nil}, - {"DELETE", "/applications/:client_id/tokens", nil}, - {"DELETE", "/applications/:client_id/tokens/:access_token", nil}, + {"GET", "/authorizations", ""}, + {"GET", "/authorizations/:id", ""}, + {"POST", "/authorizations", ""}, + //{"PUT", "/authorizations/clients/:client_id", ""}, + //{"PATCH", "/authorizations/:id", ""}, + {"DELETE", "/authorizations/:id", ""}, + {"GET", "/applications/:client_id/tokens/:access_token", ""}, + {"DELETE", "/applications/:client_id/tokens", ""}, + {"DELETE", "/applications/:client_id/tokens/:access_token", ""}, // Activity - {"GET", "/events", nil}, - {"GET", "/repos/:owner/:repo/events", nil}, - {"GET", "/networks/:owner/:repo/events", nil}, - {"GET", "/orgs/:org/events", nil}, - {"GET", "/users/:user/received_events", nil}, - {"GET", "/users/:user/received_events/public", nil}, - {"GET", "/users/:user/events", nil}, - {"GET", "/users/:user/events/public", nil}, - {"GET", "/users/:user/events/orgs/:org", nil}, - {"GET", "/feeds", nil}, - {"GET", "/notifications", nil}, - {"GET", "/repos/:owner/:repo/notifications", nil}, - {"PUT", "/notifications", nil}, - {"PUT", "/repos/:owner/:repo/notifications", nil}, - {"GET", "/notifications/threads/:id", nil}, - //{"PATCH", "/notifications/threads/:id", nil}, - {"GET", "/notifications/threads/:id/subscription", nil}, - {"PUT", "/notifications/threads/:id/subscription", nil}, - {"DELETE", "/notifications/threads/:id/subscription", nil}, - {"GET", "/repos/:owner/:repo/stargazers", nil}, - {"GET", "/users/:user/starred", nil}, - {"GET", "/user/starred", nil}, - {"GET", "/user/starred/:owner/:repo", nil}, - {"PUT", "/user/starred/:owner/:repo", nil}, - {"DELETE", "/user/starred/:owner/:repo", nil}, - {"GET", "/repos/:owner/:repo/subscribers", nil}, - {"GET", "/users/:user/subscriptions", nil}, - {"GET", "/user/subscriptions", nil}, - {"GET", "/repos/:owner/:repo/subscription", nil}, - {"PUT", "/repos/:owner/:repo/subscription", nil}, - {"DELETE", "/repos/:owner/:repo/subscription", nil}, - {"GET", "/user/subscriptions/:owner/:repo", nil}, - {"PUT", "/user/subscriptions/:owner/:repo", nil}, - {"DELETE", "/user/subscriptions/:owner/:repo", nil}, + {"GET", "/events", ""}, + {"GET", "/repos/:owner/:repo/events", ""}, + {"GET", "/networks/:owner/:repo/events", ""}, + {"GET", "/orgs/:org/events", ""}, + {"GET", "/users/:user/received_events", ""}, + {"GET", "/users/:user/received_events/public", ""}, + {"GET", "/users/:user/events", ""}, + {"GET", "/users/:user/events/public", ""}, + {"GET", "/users/:user/events/orgs/:org", ""}, + {"GET", "/feeds", ""}, + {"GET", "/notifications", ""}, + {"GET", "/repos/:owner/:repo/notifications", ""}, + {"PUT", "/notifications", ""}, + {"PUT", "/repos/:owner/:repo/notifications", ""}, + {"GET", "/notifications/threads/:id", ""}, + //{"PATCH", "/notifications/threads/:id", ""}, + {"GET", "/notifications/threads/:id/subscription", ""}, + {"PUT", "/notifications/threads/:id/subscription", ""}, + {"DELETE", "/notifications/threads/:id/subscription", ""}, + {"GET", "/repos/:owner/:repo/stargazers", ""}, + {"GET", "/users/:user/starred", ""}, + {"GET", "/user/starred", ""}, + {"GET", "/user/starred/:owner/:repo", ""}, + {"PUT", "/user/starred/:owner/:repo", ""}, + {"DELETE", "/user/starred/:owner/:repo", ""}, + {"GET", "/repos/:owner/:repo/subscribers", ""}, + {"GET", "/users/:user/subscriptions", ""}, + {"GET", "/user/subscriptions", ""}, + {"GET", "/repos/:owner/:repo/subscription", ""}, + {"PUT", "/repos/:owner/:repo/subscription", ""}, + {"DELETE", "/repos/:owner/:repo/subscription", ""}, + {"GET", "/user/subscriptions/:owner/:repo", ""}, + {"PUT", "/user/subscriptions/:owner/:repo", ""}, + {"DELETE", "/user/subscriptions/:owner/:repo", ""}, // Gists - {"GET", "/users/:user/gists", nil}, - {"GET", "/gists", nil}, - //{"GET", "/gists/public", nil}, - //{"GET", "/gists/starred", nil}, - {"GET", "/gists/:id", nil}, - {"POST", "/gists", nil}, - //{"PATCH", "/gists/:id", nil}, - {"PUT", "/gists/:id/star", nil}, - {"DELETE", "/gists/:id/star", nil}, - {"GET", "/gists/:id/star", nil}, - {"POST", "/gists/:id/forks", nil}, - {"DELETE", "/gists/:id", nil}, + {"GET", "/users/:user/gists", ""}, + {"GET", "/gists", ""}, + //{"GET", "/gists/public", ""}, + //{"GET", "/gists/starred", ""}, + {"GET", "/gists/:id", ""}, + {"POST", "/gists", ""}, + //{"PATCH", "/gists/:id", ""}, + {"PUT", "/gists/:id/star", ""}, + {"DELETE", "/gists/:id/star", ""}, + {"GET", "/gists/:id/star", ""}, + {"POST", "/gists/:id/forks", ""}, + {"DELETE", "/gists/:id", ""}, // Git Data - {"GET", "/repos/:owner/:repo/git/blobs/:sha", nil}, - {"POST", "/repos/:owner/:repo/git/blobs", nil}, - {"GET", "/repos/:owner/:repo/git/commits/:sha", nil}, - {"POST", "/repos/:owner/:repo/git/commits", nil}, - //{"GET", "/repos/:owner/:repo/git/refs/*ref", nil}, - {"GET", "/repos/:owner/:repo/git/refs", nil}, - {"POST", "/repos/:owner/:repo/git/refs", nil}, - //{"PATCH", "/repos/:owner/:repo/git/refs/*ref", nil}, - //{"DELETE", "/repos/:owner/:repo/git/refs/*ref", nil}, - {"GET", "/repos/:owner/:repo/git/tags/:sha", nil}, - {"POST", "/repos/:owner/:repo/git/tags", nil}, - {"GET", "/repos/:owner/:repo/git/trees/:sha", nil}, - {"POST", "/repos/:owner/:repo/git/trees", nil}, + {"GET", "/repos/:owner/:repo/git/blobs/:sha", ""}, + {"POST", "/repos/:owner/:repo/git/blobs", ""}, + {"GET", "/repos/:owner/:repo/git/commits/:sha", ""}, + {"POST", "/repos/:owner/:repo/git/commits", ""}, + //{"GET", "/repos/:owner/:repo/git/refs/*ref", ""}, + {"GET", "/repos/:owner/:repo/git/refs", ""}, + {"POST", "/repos/:owner/:repo/git/refs", ""}, + //{"PATCH", "/repos/:owner/:repo/git/refs/*ref", ""}, + //{"DELETE", "/repos/:owner/:repo/git/refs/*ref", ""}, + {"GET", "/repos/:owner/:repo/git/tags/:sha", ""}, + {"POST", "/repos/:owner/:repo/git/tags", ""}, + {"GET", "/repos/:owner/:repo/git/trees/:sha", ""}, + {"POST", "/repos/:owner/:repo/git/trees", ""}, // Issues - {"GET", "/issues", nil}, - {"GET", "/user/issues", nil}, - {"GET", "/orgs/:org/issues", nil}, - {"GET", "/repos/:owner/:repo/issues", nil}, - {"GET", "/repos/:owner/:repo/issues/:number", nil}, - {"POST", "/repos/:owner/:repo/issues", nil}, - //{"PATCH", "/repos/:owner/:repo/issues/:number", nil}, - {"GET", "/repos/:owner/:repo/assignees", nil}, - {"GET", "/repos/:owner/:repo/assignees/:assignee", nil}, - {"GET", "/repos/:owner/:repo/issues/:number/comments", nil}, - //{"GET", "/repos/:owner/:repo/issues/comments", nil}, - //{"GET", "/repos/:owner/:repo/issues/comments/:id", nil}, - {"POST", "/repos/:owner/:repo/issues/:number/comments", nil}, - //{"PATCH", "/repos/:owner/:repo/issues/comments/:id", nil}, - //{"DELETE", "/repos/:owner/:repo/issues/comments/:id", nil}, - {"GET", "/repos/:owner/:repo/issues/:number/events", nil}, - //{"GET", "/repos/:owner/:repo/issues/events", nil}, - //{"GET", "/repos/:owner/:repo/issues/events/:id", nil}, - {"GET", "/repos/:owner/:repo/labels", nil}, - {"GET", "/repos/:owner/:repo/labels/:name", nil}, - {"POST", "/repos/:owner/:repo/labels", nil}, - //{"PATCH", "/repos/:owner/:repo/labels/:name", nil}, - {"DELETE", "/repos/:owner/:repo/labels/:name", nil}, - {"GET", "/repos/:owner/:repo/issues/:number/labels", nil}, - {"POST", "/repos/:owner/:repo/issues/:number/labels", nil}, - {"DELETE", "/repos/:owner/:repo/issues/:number/labels/:name", nil}, - {"PUT", "/repos/:owner/:repo/issues/:number/labels", nil}, - {"DELETE", "/repos/:owner/:repo/issues/:number/labels", nil}, - {"GET", "/repos/:owner/:repo/milestones/:number/labels", nil}, - {"GET", "/repos/:owner/:repo/milestones", nil}, - {"GET", "/repos/:owner/:repo/milestones/:number", nil}, - {"POST", "/repos/:owner/:repo/milestones", nil}, - //{"PATCH", "/repos/:owner/:repo/milestones/:number", nil}, - {"DELETE", "/repos/:owner/:repo/milestones/:number", nil}, + {"GET", "/issues", ""}, + {"GET", "/user/issues", ""}, + {"GET", "/orgs/:org/issues", ""}, + {"GET", "/repos/:owner/:repo/issues", ""}, + {"GET", "/repos/:owner/:repo/issues/:number", ""}, + {"POST", "/repos/:owner/:repo/issues", ""}, + //{"PATCH", "/repos/:owner/:repo/issues/:number", ""}, + {"GET", "/repos/:owner/:repo/assignees", ""}, + {"GET", "/repos/:owner/:repo/assignees/:assignee", ""}, + {"GET", "/repos/:owner/:repo/issues/:number/comments", ""}, + //{"GET", "/repos/:owner/:repo/issues/comments", ""}, + //{"GET", "/repos/:owner/:repo/issues/comments/:id", ""}, + {"POST", "/repos/:owner/:repo/issues/:number/comments", ""}, + //{"PATCH", "/repos/:owner/:repo/issues/comments/:id", ""}, + //{"DELETE", "/repos/:owner/:repo/issues/comments/:id", ""}, + {"GET", "/repos/:owner/:repo/issues/:number/events", ""}, + //{"GET", "/repos/:owner/:repo/issues/events", ""}, + //{"GET", "/repos/:owner/:repo/issues/events/:id", ""}, + {"GET", "/repos/:owner/:repo/labels", ""}, + {"GET", "/repos/:owner/:repo/labels/:name", ""}, + {"POST", "/repos/:owner/:repo/labels", ""}, + //{"PATCH", "/repos/:owner/:repo/labels/:name", ""}, + {"DELETE", "/repos/:owner/:repo/labels/:name", ""}, + {"GET", "/repos/:owner/:repo/issues/:number/labels", ""}, + {"POST", "/repos/:owner/:repo/issues/:number/labels", ""}, + {"DELETE", "/repos/:owner/:repo/issues/:number/labels/:name", ""}, + {"PUT", "/repos/:owner/:repo/issues/:number/labels", ""}, + {"DELETE", "/repos/:owner/:repo/issues/:number/labels", ""}, + {"GET", "/repos/:owner/:repo/milestones/:number/labels", ""}, + {"GET", "/repos/:owner/:repo/milestones", ""}, + {"GET", "/repos/:owner/:repo/milestones/:number", ""}, + {"POST", "/repos/:owner/:repo/milestones", ""}, + //{"PATCH", "/repos/:owner/:repo/milestones/:number", ""}, + {"DELETE", "/repos/:owner/:repo/milestones/:number", ""}, // Miscellaneous - {"GET", "/emojis", nil}, - {"GET", "/gitignore/templates", nil}, - {"GET", "/gitignore/templates/:name", nil}, - {"POST", "/markdown", nil}, - {"POST", "/markdown/raw", nil}, - {"GET", "/meta", nil}, - {"GET", "/rate_limit", nil}, + {"GET", "/emojis", ""}, + {"GET", "/gitignore/templates", ""}, + {"GET", "/gitignore/templates/:name", ""}, + {"POST", "/markdown", ""}, + {"POST", "/markdown/raw", ""}, + {"GET", "/meta", ""}, + {"GET", "/rate_limit", ""}, // Organizations - {"GET", "/users/:user/orgs", nil}, - {"GET", "/user/orgs", nil}, - {"GET", "/orgs/:org", nil}, - //{"PATCH", "/orgs/:org", nil}, - {"GET", "/orgs/:org/members", nil}, - {"GET", "/orgs/:org/members/:user", nil}, - {"DELETE", "/orgs/:org/members/:user", nil}, - {"GET", "/orgs/:org/public_members", nil}, - {"GET", "/orgs/:org/public_members/:user", nil}, - {"PUT", "/orgs/:org/public_members/:user", nil}, - {"DELETE", "/orgs/:org/public_members/:user", nil}, - {"GET", "/orgs/:org/teams", nil}, - {"GET", "/teams/:id", nil}, - {"POST", "/orgs/:org/teams", nil}, - //{"PATCH", "/teams/:id", nil}, - {"DELETE", "/teams/:id", nil}, - {"GET", "/teams/:id/members", nil}, - {"GET", "/teams/:id/members/:user", nil}, - {"PUT", "/teams/:id/members/:user", nil}, - {"DELETE", "/teams/:id/members/:user", nil}, - {"GET", "/teams/:id/repos", nil}, - {"GET", "/teams/:id/repos/:owner/:repo", nil}, - {"PUT", "/teams/:id/repos/:owner/:repo", nil}, - {"DELETE", "/teams/:id/repos/:owner/:repo", nil}, - {"GET", "/user/teams", nil}, + {"GET", "/users/:user/orgs", ""}, + {"GET", "/user/orgs", ""}, + {"GET", "/orgs/:org", ""}, + //{"PATCH", "/orgs/:org", ""}, + {"GET", "/orgs/:org/members", ""}, + {"GET", "/orgs/:org/members/:user", ""}, + {"DELETE", "/orgs/:org/members/:user", ""}, + {"GET", "/orgs/:org/public_members", ""}, + {"GET", "/orgs/:org/public_members/:user", ""}, + {"PUT", "/orgs/:org/public_members/:user", ""}, + {"DELETE", "/orgs/:org/public_members/:user", ""}, + {"GET", "/orgs/:org/teams", ""}, + {"GET", "/teams/:id", ""}, + {"POST", "/orgs/:org/teams", ""}, + //{"PATCH", "/teams/:id", ""}, + {"DELETE", "/teams/:id", ""}, + {"GET", "/teams/:id/members", ""}, + {"GET", "/teams/:id/members/:user", ""}, + {"PUT", "/teams/:id/members/:user", ""}, + {"DELETE", "/teams/:id/members/:user", ""}, + {"GET", "/teams/:id/repos", ""}, + {"GET", "/teams/:id/repos/:owner/:repo", ""}, + {"PUT", "/teams/:id/repos/:owner/:repo", ""}, + {"DELETE", "/teams/:id/repos/:owner/:repo", ""}, + {"GET", "/user/teams", ""}, // Pull Requests - {"GET", "/repos/:owner/:repo/pulls", nil}, - {"GET", "/repos/:owner/:repo/pulls/:number", nil}, - {"POST", "/repos/:owner/:repo/pulls", nil}, - //{"PATCH", "/repos/:owner/:repo/pulls/:number", nil}, - {"GET", "/repos/:owner/:repo/pulls/:number/commits", nil}, - {"GET", "/repos/:owner/:repo/pulls/:number/files", nil}, - {"GET", "/repos/:owner/:repo/pulls/:number/merge", nil}, - {"PUT", "/repos/:owner/:repo/pulls/:number/merge", nil}, - {"GET", "/repos/:owner/:repo/pulls/:number/comments", nil}, - //{"GET", "/repos/:owner/:repo/pulls/comments", nil}, - //{"GET", "/repos/:owner/:repo/pulls/comments/:number", nil}, - {"PUT", "/repos/:owner/:repo/pulls/:number/comments", nil}, - //{"PATCH", "/repos/:owner/:repo/pulls/comments/:number", nil}, - //{"DELETE", "/repos/:owner/:repo/pulls/comments/:number", nil}, + {"GET", "/repos/:owner/:repo/pulls", ""}, + {"GET", "/repos/:owner/:repo/pulls/:number", ""}, + {"POST", "/repos/:owner/:repo/pulls", ""}, + //{"PATCH", "/repos/:owner/:repo/pulls/:number", ""}, + {"GET", "/repos/:owner/:repo/pulls/:number/commits", ""}, + {"GET", "/repos/:owner/:repo/pulls/:number/files", ""}, + {"GET", "/repos/:owner/:repo/pulls/:number/merge", ""}, + {"PUT", "/repos/:owner/:repo/pulls/:number/merge", ""}, + {"GET", "/repos/:owner/:repo/pulls/:number/comments", ""}, + //{"GET", "/repos/:owner/:repo/pulls/comments", ""}, + //{"GET", "/repos/:owner/:repo/pulls/comments/:number", ""}, + {"PUT", "/repos/:owner/:repo/pulls/:number/comments", ""}, + //{"PATCH", "/repos/:owner/:repo/pulls/comments/:number", ""}, + //{"DELETE", "/repos/:owner/:repo/pulls/comments/:number", ""}, // Repositories - {"GET", "/user/repos", nil}, - {"GET", "/users/:user/repos", nil}, - {"GET", "/orgs/:org/repos", nil}, - {"GET", "/repositories", nil}, - {"POST", "/user/repos", nil}, - {"POST", "/orgs/:org/repos", nil}, - {"GET", "/repos/:owner/:repo", nil}, - //{"PATCH", "/repos/:owner/:repo", nil}, - {"GET", "/repos/:owner/:repo/contributors", nil}, - {"GET", "/repos/:owner/:repo/languages", nil}, - {"GET", "/repos/:owner/:repo/teams", nil}, - {"GET", "/repos/:owner/:repo/tags", nil}, - {"GET", "/repos/:owner/:repo/branches", nil}, - {"GET", "/repos/:owner/:repo/branches/:branch", nil}, - {"DELETE", "/repos/:owner/:repo", nil}, - {"GET", "/repos/:owner/:repo/collaborators", nil}, - {"GET", "/repos/:owner/:repo/collaborators/:user", nil}, - {"PUT", "/repos/:owner/:repo/collaborators/:user", nil}, - {"DELETE", "/repos/:owner/:repo/collaborators/:user", nil}, - {"GET", "/repos/:owner/:repo/comments", nil}, - {"GET", "/repos/:owner/:repo/commits/:sha/comments", nil}, - {"POST", "/repos/:owner/:repo/commits/:sha/comments", nil}, - {"GET", "/repos/:owner/:repo/comments/:id", nil}, - //{"PATCH", "/repos/:owner/:repo/comments/:id", nil}, - {"DELETE", "/repos/:owner/:repo/comments/:id", nil}, - {"GET", "/repos/:owner/:repo/commits", nil}, - {"GET", "/repos/:owner/:repo/commits/:sha", nil}, - {"GET", "/repos/:owner/:repo/readme", nil}, - //{"GET", "/repos/:owner/:repo/contents/*path", nil}, - //{"PUT", "/repos/:owner/:repo/contents/*path", nil}, - //{"DELETE", "/repos/:owner/:repo/contents/*path", nil}, - //{"GET", "/repos/:owner/:repo/:archive_format/:ref", nil}, - {"GET", "/repos/:owner/:repo/keys", nil}, - {"GET", "/repos/:owner/:repo/keys/:id", nil}, - {"POST", "/repos/:owner/:repo/keys", nil}, - //{"PATCH", "/repos/:owner/:repo/keys/:id", nil}, - {"DELETE", "/repos/:owner/:repo/keys/:id", nil}, - {"GET", "/repos/:owner/:repo/downloads", nil}, - {"GET", "/repos/:owner/:repo/downloads/:id", nil}, - {"DELETE", "/repos/:owner/:repo/downloads/:id", nil}, - {"GET", "/repos/:owner/:repo/forks", nil}, - {"POST", "/repos/:owner/:repo/forks", nil}, - {"GET", "/repos/:owner/:repo/hooks", nil}, - {"GET", "/repos/:owner/:repo/hooks/:id", nil}, - {"POST", "/repos/:owner/:repo/hooks", nil}, - //{"PATCH", "/repos/:owner/:repo/hooks/:id", nil}, - {"POST", "/repos/:owner/:repo/hooks/:id/tests", nil}, - {"DELETE", "/repos/:owner/:repo/hooks/:id", nil}, - {"POST", "/repos/:owner/:repo/merges", nil}, - {"GET", "/repos/:owner/:repo/releases", nil}, - {"GET", "/repos/:owner/:repo/releases/:id", nil}, - {"POST", "/repos/:owner/:repo/releases", nil}, - //{"PATCH", "/repos/:owner/:repo/releases/:id", nil}, - {"DELETE", "/repos/:owner/:repo/releases/:id", nil}, - {"GET", "/repos/:owner/:repo/releases/:id/assets", nil}, - {"GET", "/repos/:owner/:repo/stats/contributors", nil}, - {"GET", "/repos/:owner/:repo/stats/commit_activity", nil}, - {"GET", "/repos/:owner/:repo/stats/code_frequency", nil}, - {"GET", "/repos/:owner/:repo/stats/participation", nil}, - {"GET", "/repos/:owner/:repo/stats/punch_card", nil}, - {"GET", "/repos/:owner/:repo/statuses/:ref", nil}, - {"POST", "/repos/:owner/:repo/statuses/:ref", nil}, + {"GET", "/user/repos", ""}, + {"GET", "/users/:user/repos", ""}, + {"GET", "/orgs/:org/repos", ""}, + {"GET", "/repositories", ""}, + {"POST", "/user/repos", ""}, + {"POST", "/orgs/:org/repos", ""}, + {"GET", "/repos/:owner/:repo", ""}, + //{"PATCH", "/repos/:owner/:repo", ""}, + {"GET", "/repos/:owner/:repo/contributors", ""}, + {"GET", "/repos/:owner/:repo/languages", ""}, + {"GET", "/repos/:owner/:repo/teams", ""}, + {"GET", "/repos/:owner/:repo/tags", ""}, + {"GET", "/repos/:owner/:repo/branches", ""}, + {"GET", "/repos/:owner/:repo/branches/:branch", ""}, + {"DELETE", "/repos/:owner/:repo", ""}, + {"GET", "/repos/:owner/:repo/collaborators", ""}, + {"GET", "/repos/:owner/:repo/collaborators/:user", ""}, + {"PUT", "/repos/:owner/:repo/collaborators/:user", ""}, + {"DELETE", "/repos/:owner/:repo/collaborators/:user", ""}, + {"GET", "/repos/:owner/:repo/comments", ""}, + {"GET", "/repos/:owner/:repo/commits/:sha/comments", ""}, + {"POST", "/repos/:owner/:repo/commits/:sha/comments", ""}, + {"GET", "/repos/:owner/:repo/comments/:id", ""}, + //{"PATCH", "/repos/:owner/:repo/comments/:id", ""}, + {"DELETE", "/repos/:owner/:repo/comments/:id", ""}, + {"GET", "/repos/:owner/:repo/commits", ""}, + {"GET", "/repos/:owner/:repo/commits/:sha", ""}, + {"GET", "/repos/:owner/:repo/readme", ""}, + //{"GET", "/repos/:owner/:repo/contents/*path", ""}, + //{"PUT", "/repos/:owner/:repo/contents/*path", ""}, + //{"DELETE", "/repos/:owner/:repo/contents/*path", ""}, + //{"GET", "/repos/:owner/:repo/:archive_format/:ref", ""}, + {"GET", "/repos/:owner/:repo/keys", ""}, + {"GET", "/repos/:owner/:repo/keys/:id", ""}, + {"POST", "/repos/:owner/:repo/keys", ""}, + //{"PATCH", "/repos/:owner/:repo/keys/:id", ""}, + {"DELETE", "/repos/:owner/:repo/keys/:id", ""}, + {"GET", "/repos/:owner/:repo/downloads", ""}, + {"GET", "/repos/:owner/:repo/downloads/:id", ""}, + {"DELETE", "/repos/:owner/:repo/downloads/:id", ""}, + {"GET", "/repos/:owner/:repo/forks", ""}, + {"POST", "/repos/:owner/:repo/forks", ""}, + {"GET", "/repos/:owner/:repo/hooks", ""}, + {"GET", "/repos/:owner/:repo/hooks/:id", ""}, + {"POST", "/repos/:owner/:repo/hooks", ""}, + //{"PATCH", "/repos/:owner/:repo/hooks/:id", ""}, + {"POST", "/repos/:owner/:repo/hooks/:id/tests", ""}, + {"DELETE", "/repos/:owner/:repo/hooks/:id", ""}, + {"POST", "/repos/:owner/:repo/merges", ""}, + {"GET", "/repos/:owner/:repo/releases", ""}, + {"GET", "/repos/:owner/:repo/releases/:id", ""}, + {"POST", "/repos/:owner/:repo/releases", ""}, + //{"PATCH", "/repos/:owner/:repo/releases/:id", ""}, + {"DELETE", "/repos/:owner/:repo/releases/:id", ""}, + {"GET", "/repos/:owner/:repo/releases/:id/assets", ""}, + {"GET", "/repos/:owner/:repo/stats/contributors", ""}, + {"GET", "/repos/:owner/:repo/stats/commit_activity", ""}, + {"GET", "/repos/:owner/:repo/stats/code_frequency", ""}, + {"GET", "/repos/:owner/:repo/stats/participation", ""}, + {"GET", "/repos/:owner/:repo/stats/punch_card", ""}, + {"GET", "/repos/:owner/:repo/statuses/:ref", ""}, + {"POST", "/repos/:owner/:repo/statuses/:ref", ""}, // Search - {"GET", "/search/repositories", nil}, - {"GET", "/search/code", nil}, - {"GET", "/search/issues", nil}, - {"GET", "/search/users", nil}, - {"GET", "/legacy/issues/search/:owner/:repository/:state/:keyword", nil}, - {"GET", "/legacy/repos/search/:keyword", nil}, - {"GET", "/legacy/user/search/:keyword", nil}, - {"GET", "/legacy/user/email/:email", nil}, + {"GET", "/search/repositories", ""}, + {"GET", "/search/code", ""}, + {"GET", "/search/issues", ""}, + {"GET", "/search/users", ""}, + {"GET", "/legacy/issues/search/:owner/:repository/:state/:keyword", ""}, + {"GET", "/legacy/repos/search/:keyword", ""}, + {"GET", "/legacy/user/search/:keyword", ""}, + {"GET", "/legacy/user/email/:email", ""}, // Users - {"GET", "/users/:user", nil}, - {"GET", "/user", nil}, - //{"PATCH", "/user", nil}, - {"GET", "/users", nil}, - {"GET", "/user/emails", nil}, - {"POST", "/user/emails", nil}, - {"DELETE", "/user/emails", nil}, - {"GET", "/users/:user/followers", nil}, - {"GET", "/user/followers", nil}, - {"GET", "/users/:user/following", nil}, - {"GET", "/user/following", nil}, - {"GET", "/user/following/:user", nil}, - {"GET", "/users/:user/following/:target_user", nil}, - {"PUT", "/user/following/:user", nil}, - {"DELETE", "/user/following/:user", nil}, - {"GET", "/users/:user/keys", nil}, - {"GET", "/user/keys", nil}, - {"GET", "/user/keys/:id", nil}, - {"POST", "/user/keys", nil}, - //{"PATCH", "/user/keys/:id", nil}, - {"DELETE", "/user/keys/:id", nil}, + {"GET", "/users/:user", ""}, + {"GET", "/user", ""}, + //{"PATCH", "/user", ""}, + {"GET", "/users", ""}, + {"GET", "/user/emails", ""}, + {"POST", "/user/emails", ""}, + {"DELETE", "/user/emails", ""}, + {"GET", "/users/:user/followers", ""}, + {"GET", "/user/followers", ""}, + {"GET", "/users/:user/following", ""}, + {"GET", "/user/following", ""}, + {"GET", "/user/following/:user", ""}, + {"GET", "/users/:user/following/:target_user", ""}, + {"PUT", "/user/following/:user", ""}, + {"DELETE", "/user/following/:user", ""}, + {"GET", "/users/:user/keys", ""}, + {"GET", "/user/keys", ""}, + {"GET", "/user/keys/:id", ""}, + {"POST", "/user/keys", ""}, + //{"PATCH", "/user/keys/:id", ""}, + {"DELETE", "/user/keys/:id", ""}, } ) @@ -283,7 +282,7 @@ func TestRouterStatic(t *testing.T) { return nil }, e) c := NewContext(nil, nil, e) - h, _ := r.Find(GET, path, c.X()) + h, _ := r.Find(GET, path, c) if assert.NotNil(t, h) { h(c) assert.Equal(t, path, c.Get("path")) @@ -296,7 +295,7 @@ func TestRouterParam(t *testing.T) { r.Add(GET, "/users/:id", func(c Context) error { return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) h, _ := r.Find(GET, "/users/1", c) if assert.NotNil(t, h) { assert.Equal(t, "1", c.P(0)) @@ -309,7 +308,7 @@ func TestRouterTwoParam(t *testing.T) { r.Add(GET, "/users/:uid/files/:fid", func(Context) error { return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) h, _ := r.Find(GET, "/users/1/files/1", c) if assert.NotNil(t, h) { @@ -332,7 +331,7 @@ func TestRouterMatchAny(t *testing.T) { r.Add(GET, "/users/*", func(Context) error { return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) h, _ := r.Find(GET, "/", c) if assert.NotNil(t, h) { @@ -356,7 +355,7 @@ func TestRouterMicroParam(t *testing.T) { r.Add(GET, "/:a/:b/:c", func(c Context) error { return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) h, _ := r.Find(GET, "/1/2/3", c) if assert.NotNil(t, h) { assert.Equal(t, "1", c.P(0)) @@ -373,7 +372,7 @@ func TestRouterMixParamMatchAny(t *testing.T) { r.Add(GET, "/users/:id/*", func(c Context) error { return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) h, _ := r.Find(GET, "/users/joe/comments", c) if assert.NotNil(t, h) { @@ -394,7 +393,7 @@ func TestRouterMultiRoute(t *testing.T) { r.Add(GET, "/users/:id", func(c Context) error { return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) // Route > /users h, _ := r.Find(GET, "/users", c) @@ -450,7 +449,7 @@ func TestRouterPriority(t *testing.T) { c.Set("g", 7) return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) // Route > /users h, _ := r.Find(GET, "/users", c) @@ -518,7 +517,7 @@ func TestRouterParamNames(t *testing.T) { r.Add(GET, "/users/:uid/files/:fid", func(c Context) error { return nil }, e) - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) // Route > /users h, _ := r.Find(GET, "/users", c) @@ -530,16 +529,16 @@ func TestRouterParamNames(t *testing.T) { // Route > /users/:id h, _ = r.Find(GET, "/users/1", c) if assert.NotNil(t, h) { - assert.Equal(t, "id", c.pnames[0]) + assert.Equal(t, "id", c.X().pnames[0]) assert.Equal(t, "1", c.P(0)) } // Route > /users/:uid/files/:fid h, _ = r.Find(GET, "/users/1/files/1", c) if assert.NotNil(t, h) { - assert.Equal(t, "uid", c.pnames[0]) + assert.Equal(t, "uid", c.X().pnames[0]) assert.Equal(t, "1", c.P(0)) - assert.Equal(t, "fid", c.pnames[1]) + assert.Equal(t, "fid", c.X().pnames[1]) assert.Equal(t, "1", c.P(1)) } } @@ -553,11 +552,11 @@ func TestRouterAPI(t *testing.T) { return nil }, e) } - c := NewContext(nil, nil, e).X() + c := NewContext(nil, nil, e) for _, route := range api { h, _ := r.Find(route.Method, route.Path, c) if assert.NotNil(t, h) { - for i, n := range c.pnames { + for i, n := range c.X().pnames { if assert.NotEmpty(t, n) { assert.Equal(t, ":"+n, c.P(i)) } @@ -567,27 +566,6 @@ func TestRouterAPI(t *testing.T) { } } -func TestRouterServeHTTP(t *testing.T) { - e := New() - r := e.router - - r.Add(GET, "/users", func(Context) error { - return nil - }, e) - - // OK - req, _ := http.NewRequest(GET, "/users", nil) - w := httptest.NewRecorder() - r.ServeHTTP(w, req) - assert.Equal(t, http.StatusOK, w.Code) - - // Not found - req, _ = http.NewRequest(GET, "/files", nil) - w = httptest.NewRecorder() - r.ServeHTTP(w, req) - assert.Equal(t, http.StatusNotFound, w.Code) -} - func (n *node) printTree(pfx string, tail bool) { p := prefix(tail, pfx, "└── ", "├── ") fmt.Printf("%s%s, %p: type=%d, parent=%p, handler=%v\n", p, n.prefix, n, n.kind, n.parent, n.methodHandler) diff --git a/test/fixture/walle.png b/test/fixture/walle.png deleted file mode 100644 index 493985d4aa02b084ba3cfee342774e00428806e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219885 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%0DwOjPIuV>O9vR8O@ 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

u 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 P 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 OKX&h;?tJJSe(Hay!b14~ diff --git a/website/Dockerfile b/website/Dockerfile index c3a6614a..e8306fd7 100644 --- a/website/Dockerfile +++ b/website/Dockerfile @@ -1,7 +1,7 @@ -FROM busybox +FROM reg.lab.st/argo MAINTAINER Vishal Rana -COPY server /server -COPY public /public +ADD argo.json /etc +ADD public /www -CMD ["/server"] +CMD ["-c", "/etc/argo.json"] diff --git a/website/argo.json b/website/argo.json new file mode 100644 index 00000000..8bc8ad38 --- /dev/null +++ b/website/argo.json @@ -0,0 +1,14 @@ +{ + "www": { + "listen": ":80", + "hosts": { + "*": { + "paths": { + "/*": { + "dir": "/www" + } + } + } + } + } +} diff --git a/website/content/recipes/crud.md b/website/content/recipes/crud.md index 5b1d81b2..65b1a099 100644 --- a/website/content/recipes/crud.md +++ b/website/content/recipes/crud.md @@ -16,4 +16,4 @@ menu: - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/crud) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/crud) diff --git a/website/content/recipes/embed-resources.md b/website/content/recipes/embed-resources.md index 275aec1a..2b8ad44a 100644 --- a/website/content/recipes/embed-resources.md +++ b/website/content/recipes/embed-resources.md @@ -17,4 +17,4 @@ menu: - [caarlos0](https://github.com/caarlos0) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/rice) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/rice) diff --git a/website/content/recipes/file-upload.md b/website/content/recipes/file-upload.md index 9919b058..36582e63 100644 --- a/website/content/recipes/file-upload.md +++ b/website/content/recipes/file-upload.md @@ -50,4 +50,4 @@ if _, err = io.Copy(dst, file); err != nil { - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/file-upload) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/file-upload) diff --git a/website/content/recipes/google-app-engine.md b/website/content/recipes/google-app-engine.md index ecc1c9b2..bbfe3572 100644 --- a/website/content/recipes/google-app-engine.md +++ b/website/content/recipes/google-app-engine.md @@ -132,4 +132,4 @@ but is outside the scope of this recipe. - [CaptainCodeman](https://github.com/CaptainCodeman) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/google-app-engine) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/google-app-engine) diff --git a/website/content/recipes/graceful-shutdown.md b/website/content/recipes/graceful-shutdown.md index 1d2cc3e0..f2516138 100644 --- a/website/content/recipes/graceful-shutdown.md +++ b/website/content/recipes/graceful-shutdown.md @@ -24,6 +24,6 @@ menu: ### Source Code -[graceful](https://github.com/labstack/echo/blob/master/recipes/graceful-shutdown/graceful) +[graceful](https://github.com/vishr/recipes/blob/master/echo/recipes/graceful-shutdown/graceful) -[grace](https://github.com/labstack/echo/blob/master/recipes/graceful-shutdown/grace) +[grace](https://github.com/vishr/recipes/blob/master/echo/recipes/graceful-shutdown/grace) diff --git a/website/content/recipes/hello-world.md b/website/content/recipes/hello-world.md index f774f9d5..94fa555f 100644 --- a/website/content/recipes/hello-world.md +++ b/website/content/recipes/hello-world.md @@ -16,4 +16,4 @@ menu: - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/hello-world) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/hello-world) diff --git a/website/content/recipes/jsonp.md b/website/content/recipes/jsonp.md index c04c6c35..07ad7c7d 100644 --- a/website/content/recipes/jsonp.md +++ b/website/content/recipes/jsonp.md @@ -24,4 +24,4 @@ JSONP is a method that allows cross-domain server calls. You can read more about - [willf](https://github.com/willf) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/jsonp) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/jsonp) diff --git a/website/content/recipes/jwt-authentication.md b/website/content/recipes/jwt-authentication.md index df75f184..938c119e 100644 --- a/website/content/recipes/jwt-authentication.md +++ b/website/content/recipes/jwt-authentication.md @@ -55,4 +55,4 @@ $ curl localhost:1323/restricted -H "Authorization: Bearer " => Access g - [axdg](https://github.com/axdg) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/jwt-authentication) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/jwt-authentication) diff --git a/website/content/recipes/middleware.md b/website/content/recipes/middleware.md index bab02b00..6e000058 100644 --- a/website/content/recipes/middleware.md +++ b/website/content/recipes/middleware.md @@ -17,4 +17,4 @@ menu: - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/middleware) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/middleware) diff --git a/website/content/recipes/streaming-file-upload.md b/website/content/recipes/streaming-file-upload.md index 3e1f9146..ea02aa48 100644 --- a/website/content/recipes/streaming-file-upload.md +++ b/website/content/recipes/streaming-file-upload.md @@ -25,4 +25,4 @@ menu: - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/streaming-file-upload) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/streaming-file-upload) diff --git a/website/content/recipes/streaming-response.md b/website/content/recipes/streaming-response.md index 898c9b19..e9533526 100644 --- a/website/content/recipes/streaming-response.md +++ b/website/content/recipes/streaming-response.md @@ -35,4 +35,4 @@ $ curl localhost:1323 - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/streaming-response) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/streaming-response) diff --git a/website/content/recipes/subdomains.md b/website/content/recipes/subdomains.md index f4647b0a..50b2a956 100644 --- a/website/content/recipes/subdomains.md +++ b/website/content/recipes/subdomains.md @@ -15,4 +15,4 @@ menu: - [axdg](https://github.com/axdg) - [vishr](https://github.com/axdg) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/subdomains) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/subdomains) diff --git a/website/content/recipes/website.md b/website/content/recipes/website.md index b9894e1d..2ea3e5b9 100644 --- a/website/content/recipes/website.md +++ b/website/content/recipes/website.md @@ -22,4 +22,4 @@ menu: - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/website) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/website) diff --git a/website/content/recipes/websocket.md b/website/content/recipes/websocket.md index bdd084bb..03fa7a3d 100644 --- a/website/content/recipes/websocket.md +++ b/website/content/recipes/websocket.md @@ -44,4 +44,4 @@ Hello, Server! - [vishr](https://github.com/vishr) -### [Source Code](https://github.com/labstack/echo/blob/master/recipes/websocket) +### [Source Code](https://github.com/vishr/recipes/blob/master/echo/recipes/websocket) diff --git a/website/layouts/shortcodes/embed.html b/website/layouts/shortcodes/embed.html index 1c88e121..9de428b2 100644 --- a/website/layouts/shortcodes/embed.html +++ b/website/layouts/shortcodes/embed.html @@ -1,2 +1,2 @@ -

+
 
diff --git a/website/package.json b/website/package.json deleted file mode 100644 index 0967ef42..00000000 --- a/website/package.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/website/server.go b/website/server.go deleted file mode 100644 index 9327d3e6..00000000 --- a/website/server.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - "github.com/labstack/echo" - mw "github.com/labstack/echo/middleware" -) - -func main() { - e := echo.New() - e.Use(mw.Logger()) - e.Use(mw.Recover()) - e.Use(mw.Gzip()) - - e.Static("/", "public") - - e.Run(":80") -}