emmett-framework / emmett

The web framework for inventors
BSD 3-Clause "New" or "Revised" License
1.06k stars 71 forks source link

Routing with conditional parameter #231

Open josejachuf opened 5 years ago

josejachuf commented 5 years ago

Hi @gi0baro . The following works fine (for docs)

@mymodule.route("/profile(/<int:user_id>)?")
def profile(user_id):
    if user_id:
        # get requested user
    else:
        # load current logged user profile

But if I want to use it in the home of the module, it fails:

@mymodule.route("/(<int:user_id>)?")
def index(user_id):
    if user_id:
        # get requested user
    else:
        # load current logged user profile

http://127.0.0.1:8000/mymodule/ or http://127.0.0.1:8000/mymodule/1 I get Resource not found

Jose

tweenietomatoes commented 5 years ago
@mymodule.route("(/<int:user_id>)?")
def index(user_id):
    if user_id:
        # get requested user
    else:
        # load current logged user profile
josejachuf commented 5 years ago

Thanks @tweenietomatoes, but I still get Resource not found

gi0baro commented 5 years ago

@josejachuf this is probably a bug regarding conditional parameters and first component of the route url. I will need to inspect this. Will update you.

gaytomycode commented 9 months ago

hi @gi0baro Is this bug resolved?

gi0baro commented 9 months ago

@gaytomycode this was reported before 2.0, it needs to be verified