Skip to content

Draft PR - nextlink encode#2199

Draft
Sreejithpin wants to merge 386 commits into
OData:masterfrom
Sreejithpin:SkipTokenIssue
Draft

Draft PR - nextlink encode#2199
Sreejithpin wants to merge 386 commits into
OData:masterfrom
Sreejithpin:SkipTokenIssue

Conversation

@Sreejithpin

Copy link
Copy Markdown
Contributor

Issues

Draft PR for nextlink
This pull request fixes issue #xxx.

Description

Briefly describe the changes of this pull request.

Checklist (Uncheck if it is not completed)

  • Test cases added
  • Build and test with one-click build and test script passed

Additional work necessary

If documentation update is needed, please add "Docs Needed" label to the issue and provide details about the required document change in the issue.

xuzhg and others added 30 commits March 27, 2018 11:11
the description and the QueryFilter itself.
the EntityId. The response code is not set properly until after
ExecuteResultAsync() is completed.
key is not present in the SerializableError.

Convert the errors in SerializableError into ODataErrorDetail
collection.
…bound

is either ODataQueryOptions or ODataQueryOptions<T>.
if a filter of the same type is already present in the Filters list.

Modify QueryFilterProvider to apply of a global query filter
if the return type is a Task<> returning a collection and if the
return type is derived from single result.
…ataPathRouteConstraintTest.

RFC3986 specifies "[" and "]" and gen-delims in BNF notation in section 2.2 but section 3.2.2
specifies that the are only valid in a Uri as part of an IPV6 host. Therefore, they are not
valid in any part of a Uri, which is how the tests use _stringsLegalEverywhere.
…rate is:

AspNet    : 4648 pass, 0 fail - 100% enabled, 100% pass
AspNetCore: 4424 pass, 0 fail - 95% enabled, 100% pass

This change:

1.) Fixes DelayLoadFilterProvider so it works.
2.) Adds coreBuilder.AddDataAnnotations() to enable DataAnnotation validation.
3.) Makes the default action "Get"
4.) Makes Created() and BadRequest() return action results.
5.) Includes route name in GetServiceRootUri()
6.) Fixes LowerCamelCaseTest to expect BadResult() now that ODataQueryOptions skips parameter validation.
7.) Disables CRUDEntitySetShouldWork() since unicode values in headers are not supported in Kestrel.
8.) Modifies IsofFunctionTests to expect an HttpRequestException since an error occurs during formatting
    after headers has been sent and AspNetCore returns HttpRequestException in this case.
9.) Modifies ODataValueProviderTests to inject an Id instead of an object due to AspNetCore parameter
    handle; this also work in AspNet.
10.) Fixes tests in DeltaOfTValidationTests, ComplextTypeCollectionTests, JsonSingleResultExpandTests,
     ODataQueryOptionsTests, QueryFuzzingTests, ValidatorTests, and DeltaOfTValidationTests
11.) Enables tests in ContainmentTests, DeltaTests, SecurityTests, PropertyTestsUsingConventionModelBuilder,
     CustomFilterValidator, AddRelatedObjectTests, SingletonTests
into account parameters types the bind using custom binders.
1.) Modify Match_ReturnsTrue_IfODataPathCanBeParsed to handle platform-specific differences
    in route constraint.
2.) Test ODataRoute without comparing to HttpRoute due to platform differences in HttpRoute.
3.) Modify EntityTypeFunction to return error based on ModelState instead of relying on
    exception handling which is platform dependant.
kusc-leica and others added 25 commits February 26, 2020 18:17
… dynamic controller (OData#2035)

* Enable endpoint routing using dynamic controller

* Update to 7.4.0

* Update the PublicAPI test cases

* Add the E2E test cases

* Change the startup to test the per-route configuration

* Some test codes about policy

* Use MatcherPolicy Instead of EndpointSelector to resolve the ambiguity

* Address the comments and add LinkGenerator test cases

* Revert the EF Core version to 2.2.0 to make Aggregation E2E test pass
* Add test to verify batch handler does not copy all headers to individual requests

* Control which headers are copied from batch to individual requests

* Handle quoted and escaped preference header values in batch requests

* Fix regression in default batch handler tests

* Minor refactor of header handling in batch handler

* Use only comma as separator for preferences in Prefer header

* Handle multiple prefer headers and duplicate preferences in batch request

* Minor style fixes

* Refactor handling of batch headers

* Remove unnecessary Trim() in preference header handling

* Remove space from preference header separator
* Everything except properties.

Fix tests

Address PR comments

Remove Inline change due to a bug

* Address PR comments and take sam's input

parity between actions and functions

self review

Update tests

fix final set of issues

* Address PR comments

address pr comments

update method
…erty (OData#2160)

* Fix logic for patching entity with complex type dynamic property

* Support patching of complex type dynamic property in a structured type plus tests

* Use string.IsNullOrWhiteSpace

Co-authored-by: John Gathogo <jogathog@microsoft.com>
@Sreejithpin Sreejithpin requested review from mikepizzo and xuzhg June 17, 2020 03:09

@mikepizzo mikepizzo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than pass in a boolean for whether or not to encode, which is going to be hard for the service to decide, can we just add logic to DefaultSkipTokenHandler to encode any date, string, or other values that may have suspect characters? See similar logic in PR #2197.

@xuzhg xuzhg force-pushed the master branch 2 times, most recently from 4c43a84 to ddfd3dd Compare May 29, 2026 01:09
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

Successfully merging this pull request may close these issues.