Skipper: Skipper should allow URLs to be treated as case-insensitive using MatchingOption

Created on 18 May 2017  路  4Comments  路  Source: zalando/skipper

The current default for skipper is to allow URLs to be case-sensitive. This creates a requirement for all the route definition to have all combinations of upper and lowercase for a given route.

Skipper should allow IgnoreCaseSensitive as a MatchingOptions so that we don't need to define multiple routes.

E.g. The wishlist route works for www.zalando.de/wishlist but not for www.zalando.de/WISHLIST

Most helpful comment

i don't think this should be fixed. Depending on the particular requirements, it can be more reasonable to create a custom redirect filter extension that converts the path into lowercases.

lowercase: PathRegexp(/[^A-Z]*/) -> "https://www.example.org";
notLowerCase: * -> lowerCaseRedirect() -> <shunt>;

Other opinions?

All 4 comments

i don't think this should be fixed. Depending on the particular requirements, it can be more reasonable to create a custom redirect filter extension that converts the path into lowercases.

lowercase: PathRegexp(/[^A-Z]*/) -> "https://www.example.org";
notLowerCase: * -> lowerCaseRedirect() -> <shunt>;

Other opinions?

I agree that a redirect to some canonical URL (being lowercase) is the best solution.

Another vote here for the redirect approach. This guarantees that route matching keeps its performance, which is fundamental, and also makes it transparent (bots?) what the canonical URL should be with a permanent redirect.

Makes sense. @aryszka I will check if its already there else create a PR for the lowercase filter

Was this page helpful?
0 / 5 - 0 ratings