GithubHelp home page GithubHelp logo

Static handler broken about echo HOT 11 CLOSED

labstack avatar labstack commented on May 8, 2024
Static handler broken

from echo.

Comments (11)

CaptainCodeman avatar CaptainCodeman commented on May 8, 2024

Digging into this a little more, it seems any route using the 'match any' wildcard has stopped working (e.g. "/somepath/param"). The Static handler adds the "/" part to the route.

from echo.

vishr avatar vishr commented on May 8, 2024

Did you try with the latest code? I tried to fix it.

from echo.

CaptainCodeman avatar CaptainCodeman commented on May 8, 2024

Looks like that fixed it - many thanks !! ๐Ÿ‘

Not sure if this is a related issue or I'm just using it wrong but I noticed that the following works ok:

api.Get("/folders", folders)
api.Get("/folders/*", folder)

... but if the first path has a trailing slash then it causes an error, i.e.

api.Get("/folders/", folders)
api.Get("/folders/*", folder)
2015/05/01 11:52:28 http: panic serving [::1]:54452: runtime error: slice bounds out of range
goroutine 34 [running]:
net/http.funcยท011()
    /usr/local/go/src/net/http/server.go:1130 +0xbb
github.com/labstack/echo.(*router).Find(0xc20800a460, 0xc208108000, 0x3, 0xc208108004, 0xb, 0xc208040410, 0xc20800a9d0, 0xc20805c000)
    /go/src/github.com/labstack/echo/router.go:239 +0x214
github.com/labstack/echo.(*Echo).ServeHTTP(0xc20805c000, 0x76f670, 0xc2081500a0, 0xc208106750)
    /go/src/github.com/labstack/echo/echo.go:296 +0xd0
net/http.serverHandler.ServeHTTP(0xc208070a80, 0x76f670, 0xc2081500a0, 0xc208106750)
    /usr/local/go/src/net/http/server.go:1703 +0x19a
net/http.(*conn).serve(0xc208150460)
    /usr/local/go/src/net/http/server.go:1204 +0xb57
created by net/http.(*Server).Serve
    /usr/local/go/src/net/http/server.go:1751 +0x35e

I'm totally fine using the 1st version, just an FYI if that wasn't intended or someone else runs into the same thing or it needs to be mentioned in the docs.

from echo.

CaptainCodeman avatar CaptainCodeman commented on May 8, 2024

BTW: The reason for having the trailing slash is simply convenience as it's the angular default. so it saves having to add $resourceProvider.defaults.stripTrailingSlashes = true; in the client code.

from echo.

vishr avatar vishr commented on May 8, 2024

I am aware of the problem and that's the reason issue is still open. Thanks for your input, I will work on it at next opportunity.

from echo.

CaptainCodeman avatar CaptainCodeman commented on May 8, 2024

Thanks @vishr - really love this package (after trying every golang web framework, LOL) so let me know whenever you need me to test anything out.

I also discovered that the NotFoundHandler doesn't seem to be working right too - the overridden handler never gets called (returns '404 page not found' no matter what) and if the request doesn't contain a '/' then it causes a panic.

from echo.

vishr avatar vishr commented on May 8, 2024

@CaptainCodeman Cool

from echo.

vishr avatar vishr commented on May 8, 2024

fcbdaae
@CaptainCodeman Fixed routes you mentioned in the example. Custom not found handler test passes. FYI http://labstack.github.io/echo/guide/#customization, the custom not found handler is only called by router incase it doesn't find any matching path. I am still working on providing an option to strip trailing slash.

from echo.

CaptainCodeman avatar CaptainCodeman commented on May 8, 2024

Thanks @vishr - I'll try it out and report back

from echo.

CaptainCodeman avatar CaptainCodeman commented on May 8, 2024

All seems to be working great ๐Ÿ‘

from echo.

vishr avatar vishr commented on May 8, 2024

18dcc4b

from echo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.