OData / RESTier

A turn-key library for building RESTful services
http://odata.github.io/RESTier
Other
471 stars 137 forks source link

ETags do not work, If-Match & If-None-Match Headers comparison, Precondition Failed #592

Closed ghost closed 5 years ago

ghost commented 7 years ago

ETags are not being checked correctly. Every call ends with 412 Precondition required.

Assemblies affected

<package id="Microsoft.Restier" version="0.6.0" targetFramework="net452" />
<package id="Microsoft.Restier.Core" version="0.6.0" targetFramework="net452" />
<package id="Microsoft.Restier.Providers.EntityFramework" version="0.6.0" targetFramework="net452" />
<package id="Microsoft.Restier.Publishers.OData" version="0.6.0" targetFramework="net452" />

Reproduce steps

  1. Clone test repository https://github.com/nurf3d/RestierTest
  2. Issue HTTP-GET to /crm/People(1) stage1
  3. Extract Etag from entity and issue another HTTP-GET with If-Match header set to Etag value stage2

Expected result

304 Not Modified

Actual result

412 Precondition failed

Additional details

Somehow the Etag isn't compared correctly. HTTP-PUT and -Delete are also having the same issue.

robertmclaws commented 5 years ago

I'm closing this as being out of date. If you are still having issues with the latest bits from the Nightly feed, please re-open the issue. Thanks!