summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Niedzielski <adamsunday@gmail.com>2017-04-05 16:14:25 +0200
committerAdam Niedzielski <adamsunday@gmail.com>2017-04-05 16:14:25 +0200
commit3bec61319431725b6b6330824b7cd6e0cfce7b54 (patch)
treefd56737b5d72fae0bcdc02d202191a8e4c390267
parentd4349ba6c4960f50dce7b0beec5f309894dbada9 (diff)
downloadgitlab-ce-3bec61319431725b6b6330824b7cd6e0cfce7b54.tar.gz
Document how ETag caching middleware handles query parameters
-rw-r--r--doc/development/polling.md6
1 files changed, 6 insertions, 0 deletions
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)