Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What about matching? #6

Open
pombredanne opened this issue Mar 8, 2014 · 7 comments
Open

What about matching? #6

pombredanne opened this issue Mar 8, 2014 · 7 comments

Comments

@pombredanne
Copy link
Contributor

i.e. given a URI and a template? does the URI match the template?
This would be a useful feature

@sigmavirus24
Copy link
Collaborator

That sounds like it would be fun to work on. I'm not sure I'll have time to work on it immediately but I'll definitely think about it.

Do you have any ideas for how to work towards it?

@sigmavirus24
Copy link
Collaborator

I think this would benefit from an idea I had a few months ago - write something akin to urlparse to be able to parse templates the same way you'd like to parse a URL. That would likely simplify this problem.

@pombredanne
Copy link
Contributor Author

I stumbled upon this https://github.com/google/uri.dart by @justinfagnani .
This is contains a URI template implementation for Dart but also tow very interesting bits:
matching: https://github.com/google/uri.dart#urimatch and parsing: https://github.com/google/uri.dart#uriparser

@justinfagnani
Copy link

Yes, the UriParser can parse and extract parameters from a subset of UriTemplates right now. I'd like to expand the number of operators that are handled, and come up with some reasonable rules for what the modifiers do. It'd be great if there were compatible implementations in other languages. Let me know if there are behaviors that aren't intuitive.

@deontologician
Copy link

I made a partial stab at it on the other uritemplate package: uri-templates/uritemplate-py#12

I just found this implementation. If this is a more actively developed project, I could probably port it to this package.

@sigmavirus24
Copy link
Collaborator

They're both maintained but I'm probably more reactive because I'm not leading the creation of HTTP/2.0

I'd be happy to include it though.

@sigmavirus24
Copy link
Collaborator

This has stuck in my head for a while. I think we want to take an approach similar to https://github.com/erinxocon/tpfd using https://github.com/r1chardj0n3s/parse. We'd have to parse out the variables using our current variable parsing logic and then strip out the annotations about level, etc. for the parse library to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants