Comments (7)
Sorry for the trouble, everyone. I just reverted the changes made in this commit (e9536fd).
from jlroutes.
This commit, breaks route matching on iOS 9. @radianttap.
I have comment it out in my code and route matching is working again.
from jlroutes.
We ran into the same issue, our scenario is that we are using router both for external universal links (https://myapp.com/path
) and for internal links (myapp://path
), also we need to support several environments, so in our case universal links can be https://dev.myapp.com/path
or https://staging.myapp.com/path
or https://myapp.com/path
Also for universal links we support links opened from emails, e.g. https://email.myapp.com/path
and links opened from web, e.g. https://web.myapp.com/path
. Currently we are working around it by replacing host with localhost
prior to sending it to JLRoutes
I'm not sure I understand the reasoning behind this change, not sure if I've seen other routing solutions to match against the host (similar ruby libraries for example)
from jlroutes.
Traced back to this commit: 98febf4#diff-49786c8b72bf93a052e6bbaf95b8b295R444
@joeldev is the intended behaviour that route has to contain the host? seems odd...
from jlroutes.
I'm going to close this issue for now. Please feel free to re-open (or file another issue) if me reverting that commit has caused some other issue. All current tests are passing and I'm always looking to add more.
from jlroutes.
Thank you
from jlroutes.
@joeldev This issue appears to be reoccurring. JLRRouteRequest.m:L33-38
adds the host as a path component. Is this an intentional change for 2.0? It does not match the routing behaviour from the 1.x versions of JLRoutes.
Here is a failing test that indicates this problem:
- (void)testHostIgnored
{
[[JLRoutes globalRoutes] addRoute:@"/someRoute/123"
handler:[[self class] defaultRouteHandler]];
[self route:@"https://google.com/someRoute/123"];
JLValidateAnyRouteMatched();
}
If this is intentional, it would be a good idea to document the change in behaviour in the 2.0.0 release notes and possibly a "migrating to 2.x" document, as people will need to add manual stripping of the host to bring back the old behaviour.
from jlroutes.
Related Issues (20)
- When should I use Handler Block Helper?
- Multithreaded is not safe
- v2.1: Umbrella header for module 'JLRoutes' does not include header 'JLRRoute___________.h' HOT 1
- Routing table?
- xcode warnings when using latest 2.1 release HOT 5
- pass object
- How to route a URL with port and fragment like: "https://www.tencent.com:443/resource#fragment"
- How do I jump to the deeper level controller
- Mattern matching broken when having a route with a trailing / HOT 1
- How do I call back between two controllers? HOT 1
- Thanks to the author, I have translated this repo to Swift 5 HOT 1
- Version 2.1 is no longer compatible with Carthage
- Ambivalent behaviour of wildcard pattern
- Apple Privacy Manifest HOT 3
- JLRoutes does not handle addRoute when open(url, options: [:]) is called HOT 1
- Optionals not appending following items HOT 4
- Can not match the following situation HOT 1
- There are some memory leak problem HOT 1
- The first execution of the jump controller code does not take effect HOT 1
- [[UIApplication sharedApplication] openURL:url] is Deprecated, please update README
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jlroutes.