Code Monkey home page Code Monkey logo

Comments (6)

acornejo avatar acornejo commented on July 1, 2024

+1

from goth.

willemvd avatar willemvd commented on July 1, 2024

@rickb777 there is a minor difference in the first code what on first looks like the same:
the second req.URL.Query().Get(":provider") is with a semicolon before the provider
So think it has to do with resolving the provider value in side the different http engines

@markbates binding against mux is indeed a problem , but I know when we would change this it would break applications using this default behavior . Any thoughts on how to decouple this?

I also changed the GetProviderName function to a custom function to do my own implementation when using Macaron , but this does indeed not remove the gorilla/mux dependency on the project.

from goth.

markbates avatar markbates commented on July 1, 2024

This coupling has been there for a few years, and to remove it would break existing apps. If someone can figure out a way to do this would breaking backward compatibility I'm all ears.

from goth.

IngCr3at1on avatar IngCr3at1on commented on July 1, 2024

@markbates what about a v2 sub-package in-line with Go module design?

Some common functionality could be moved into an internal package and exported by both while the v2 package could be built without being coupled to gorilla/mux and the old package could remain as is.

from goth.

xeoncross avatar xeoncross commented on July 1, 2024

As for the backwards compatible approach Both gorilla/mux and httperouter can use context.Content to find route parameters. I've done a simple context.Values check in my "mid" middleware.

from goth.

lrstanley avatar lrstanley commented on July 1, 2024

Has there been any follow-up on this? Would be nice to remove the dependency on gorilla packages (both Store and url param functionality), and make it a bit more pluggable. Could also have sub-packages to still allow the use of gorilla packages in a seamless way. I don't think there is an easy way to be backwards compatible, but might be worth a v2 version, with an interface/context approach.

Would @markbates or other maintainers be open to supporting something like this? I could potentially help with PR's and whatnot.

EDIT: /cc @techknowlogick

from goth.

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.