Comments (4)
For sometimes, space encode to +, as Wikipedia says, https://www.wikiwand.com/en/Percent-encoding#The_.60application.2Fx-www-form-urlencoded.60_type
for these cases, it needs an option to replace the plus to space, but it should work in the beginning, e.g. before [[NSURLComponents alloc] initWithString:@"http://example.com/issue?p=a"]
, and this change will avoid replacing the %2B to space, because %2B raw value is +, after decode, it should also be +,not space.
Also, from RFC 3986, + is a remaining character, for most cases space will be encoded to %20, not plus, so I think setShouldDecodePlusSymbols:
default value should be NO, not YES.
Thanks.
from jlroutes.
Thanks for this as well. A few things:
- %2F (/) will not be supported at this time due to the NSURL pathComponents issue you mention.
- %2B (+) is now supported by calling [JLRoutes setShouldDecodePlusSymbols:NO];
The reason 2 has been solved with a setting is that I don't believe most people actually want to get the raw + in the resulting variable. For those that do, they can ask JLRoutes not to decode plus symbols and the value will come through as expected.
from jlroutes.
What if I needed %2F to be supported? What should I do?
from jlroutes.
From w3c ASCII Encoding Reference, the plus(+) encode to %2B, space encode to 20%, as setShouldDecodePlusSymbols:
default option, NSURLComponents decode %2B to +, setShouldDecodePlusSymbols:
replace the + symbols to space, it more like a bug, %2B shoult never decode to space.
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.