diff options
author | Dylan William Hardison <dylan@hardison.net> | 2018-10-13 06:33:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-13 06:33:18 +0200 |
commit | 5f5d1a83c44a7521622686e8e0a88a744e92c335 (patch) | |
tree | ed69c041e0ec3cabc36adb9a9967e61088ca36c0 /Bugzilla/WebService | |
parent | 5688d0e712b85bc892ce405a1b79e3571f6d6d0f (diff) | |
download | bugzilla-5f5d1a83c44a7521622686e8e0a88a744e92c335.tar.gz bugzilla-5f5d1a83c44a7521622686e8e0a88a744e92c335.tar.xz |
Bug 1495741 - memory issues: disable etag generation for /rest/product
Diffstat (limited to 'Bugzilla/WebService')
-rw-r--r-- | Bugzilla/WebService/Product.pm | 2 | ||||
-rw-r--r-- | Bugzilla/WebService/Server.pm | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/Bugzilla/WebService/Product.pm b/Bugzilla/WebService/Product.pm index 0b58c6e1c..8ee6ff43f 100644 --- a/Bugzilla/WebService/Product.pm +++ b/Bugzilla/WebService/Product.pm @@ -68,6 +68,8 @@ sub get { my ($self, $params) = validate(@_, 'ids', 'names', 'type'); my $user = Bugzilla->user; + Bugzilla->request_cache->{bz_etag_disable} = 1; + defined $params->{ids} || defined $params->{names} || defined $params->{type} || ThrowCodeError("params_required", { function => "Product.get", params => ['ids', 'names', 'type'] }); diff --git a/Bugzilla/WebService/Server.pm b/Bugzilla/WebService/Server.pm index e02788911..c4bd3e605 100644 --- a/Bugzilla/WebService/Server.pm +++ b/Bugzilla/WebService/Server.pm @@ -81,7 +81,11 @@ sub datetime_format_outbound { sub bz_etag { my ($self, $data) = @_; my $cache = Bugzilla->request_cache; - if (defined $data) { + + if (Bugzilla->request_cache->{bz_etag_disable}) { + return undef; + } + elsif (defined $data) { # Serialize the data if passed a reference local $Storable::canonical = 1; $data = freeze($data) if ref $data; |