Giter VIP home page Giter VIP logo

Comments (4)

vishr avatar vishr commented on May 7, 2024
  1. You can do it using groups. There are two flavors of echo.Group - check it out in examples

  2. I am trying to understand your question

from echo.

mDomingues avatar mDomingues commented on May 7, 2024

Thank you @vishr.

  1. Alright. With that solution I think I've a problem. For two concurrent requests, the context used will be the same.
qwerty := e.Group("/callback")
// Set handle for group
qwerty.Use(func(c *echo.Context) {
    context = c  // context is a var 
})
qwerty.Get("", myMiddleware1)

// Set middlewares for given route
asdf := e.Group("/home")
// Set handle for group
asdf.Use(func(c *echo.Context) {
    context = c  // context is a var 
})
asdf.Get("", myMiddleware2)

Then I use my context var in each of MyMiddlewareX. From the benchmark tests with multiple requests concurrently, I can understand the same context is being used and workflow doesn't work as expected. With this structure is there a way to have a new handle for each request like if I did:

e.Get("/home", func(c *echo.Context) {
    // Do stuff
})

Does it makes sense ? I'm doing something wrong ?

Nevermind 2) if 1) gets working

from echo.

vishr avatar vishr commented on May 7, 2024

@mDomingues I would like you to explain me in detail as I am not able to understand what you are trying to do. Echo context is created for each request.

Do you want to use echo.Context in external handlers? echo.Context is only available if you use echo.HandlerFunc but Echo lets you use external middleware in the request chain.

from echo.

vishr avatar vishr commented on May 7, 2024

Closing for now.

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.