core icon indicating copy to clipboard operation
core copied to clipboard

Is it possible to have the Content-Location for GetCollections?

Open darkweak opened this issue 1 year ago • 0 comments

Description

Hello, I dunno if that's possible to return the header Content-Location with the resource location on GetCollection results.

Context: In Souin/cache-handler caddy module we have the tag-based invalidation but we use the Content-Location HTTP response header to generate an associative array with the given format.

[Content-Location header value] => [{Generated cache key from the caddy module for req1}, {Generated cache key from the caddy module for req2}]

Example:

{
    "/books/1": ["GET-http-localhost-/books/1{VARY}content-type:application/xml", "GET-http-localhost-/books/1", "GET-http-localhost-/books/1{VARY}content-type:application/json"]
}

Actually I'm using a kind of hack in the Caddyfile to always have a Content-Location returned by the application with the following snippet:

	vars initialRequest {uri}
	header Content-Location {http.vars.initialRequest}

So it fixes the GetCollection Content-Location issue but generates an additional Content-Location value on GetItem. I know that caddy allows to defer the headers responses but if I use the defer, the middleware doesn't get this header.

Example

darkweak avatar Sep 19 '24 08:09 darkweak