proxy: allow 0 timeout to use system default (#88886)
gitea/passerelle/pipeline/head This commit looks good
Details
gitea/passerelle/pipeline/head This commit looks good
Details
This commit is contained in:
parent
96c1e49e23
commit
e6911e00be
|
@ -54,7 +54,9 @@ class Migration(migrations.Migration):
|
|||
('upstream_base_url', models.URLField(verbose_name='Upstream Service Base URL')),
|
||||
(
|
||||
'http_timeout',
|
||||
models.PositiveIntegerField(default=20, verbose_name='Timeout on upstream (in seconds)'),
|
||||
models.PositiveIntegerField(
|
||||
default=20, verbose_name='Timeout on upstream (in seconds, 0 for system default)'
|
||||
),
|
||||
),
|
||||
(
|
||||
'forced_headers',
|
||||
|
|
|
@ -36,7 +36,9 @@ class Resource(BaseResource, HTTPResource):
|
|||
category = _('Misc')
|
||||
|
||||
upstream_base_url = models.URLField(_('Upstream Service Base URL'))
|
||||
http_timeout = models.PositiveIntegerField(_('Timeout on upstream (in seconds)'), default=20)
|
||||
http_timeout = models.PositiveIntegerField(
|
||||
_('Timeout on upstream (in seconds, 0 for system default)'), default=20
|
||||
)
|
||||
forced_headers = models.TextField(
|
||||
_('Headers'),
|
||||
blank=True,
|
||||
|
@ -84,7 +86,7 @@ class Resource(BaseResource, HTTPResource):
|
|||
headers=headers,
|
||||
params=params,
|
||||
data=request.body,
|
||||
timeout=self.http_timeout,
|
||||
timeout=self.http_timeout or None,
|
||||
)
|
||||
response = HttpResponse(
|
||||
upstream.content,
|
||||
|
|
|
@ -167,3 +167,13 @@ def test_timeout(mocked_responses, app, proxy, endpoint):
|
|||
)
|
||||
resp = app.get(endpoint + '/foo/bar', status=200)
|
||||
assert resp.text == 'ok'
|
||||
|
||||
proxy.http_timeout = 0 # system default
|
||||
proxy.save()
|
||||
mocked_responses.get(
|
||||
url='https://example.org/foo/bar',
|
||||
body='ok',
|
||||
match=[responses.matchers.request_kwargs_matcher({'timeout': None})],
|
||||
)
|
||||
resp = app.get(endpoint + '/foo/bar', status=200)
|
||||
assert resp.text == 'ok'
|
||||
|
|
Loading…
Reference in New Issue