OData / odata.net

ODataLib: Open Data Protocol - .NET Libraries and Frameworks
https://docs.microsoft.com/odata
Other
675 stars 348 forks source link

Improve OData Uri parser in 8 #2067

Open xuzhg opened 3 years ago

xuzhg commented 3 years ago

Short summary (3-5 sentences) describing the issue.

Assemblies affected

Which assemblies and versions are known to be affected e.g. OData .Net lib 7.x

Reproduce steps

The simplest set of steps to reproduce the issue. If possible, reference a commit that demonstrates the issue.

Expected result

What would happen if there wasn't a bug.

Actual result

What is actually happening.

Additional detail

Optional, details of the root cause if known. Delete this section if you have no additional details to add.

marabooy commented 3 years ago

@xuzhg one improvement that could be added is the possibility of parsing urls in a case insensitive manner. This allows canonicalized urls to be parsed without any errors.

marabooy commented 3 years ago

Found that using ParseDynamicPathSegmentFunc could have one override this behavior easily.

habbes commented 3 years ago

Maybe we should also consider decoupling the syntax parse from the edm model? I think there have been requests in the past for validating an odata url without relying on the model. I'm not sure if this is still relevant today.

corranrogue9 commented 2 years ago

It would be good to remove the requirement to load a model for any sort of parsing, we might factor in a way where we separate operations that require the model from operations that don't. This might be code that exists, but it might just not be exposed.

@xuzhg, it seems possible (though unlikely) that this is not a breaking change. Can you please flesh out a little bit the proposed new interfaces so we can see what the breaks would be?