From 3bec61319431725b6b6330824b7cd6e0cfce7b54 Mon Sep 17 00:00:00 2001 From: Adam Niedzielski Date: Wed, 5 Apr 2017 16:14:25 +0200 Subject: Document how ETag caching middleware handles query parameters --- doc/development/polling.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/development/polling.md b/doc/development/polling.md index e5a717f712b..4042b8aaa61 100644 --- a/doc/development/polling.md +++ b/doc/development/polling.md @@ -39,6 +39,12 @@ Instead you should use polling mechanism with ETag caching in Redis. 1. If the `If-None-Match` header does not match the current value in Redis we have to generate a new response, because the resource changed. +Do not use query parameters (for example `?scope=all`) for endpoints where you +want to enable ETag caching. The middleware takes into account only the request +path and ignores query parameters. All parameters should be included in the +request path. By doing this we avoid query parameter ordering problems and make +route matching easier. + For more information see: - [RFC 7232](https://tools.ietf.org/html/rfc7232) - [ETag proposal](https://gitlab.com/gitlab-org/gitlab-ce/issues/26926) -- cgit v1.2.1