Skip to content

Commit c1a317b

Browse files
authored
Avoid timeout due to too big requests
1 parent d5d91d3 commit c1a317b

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

silk/views/request_detail.py

+15-11
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,28 @@ def get(self, request, request_id):
1919
query_params = None
2020
if silk_request.query_params:
2121
query_params = json.loads(silk_request.query_params)
22-
body = silk_request.raw_body
23-
try:
24-
body = json.loads(body) # Incase encoded as JSON
25-
except (ValueError, TypeError):
26-
pass
22+
2723
context = {
2824
'silk_request': silk_request,
29-
'curl': curl_cmd(url=request.build_absolute_uri(silk_request.path),
25+
'query_params': json.dumps(query_params, sort_keys=True, indent=4) if query_params else None,
26+
'request': request
27+
}
28+
29+
if len(silk_request.raw_body<20000): # Don't do this for large request
30+
body = silk_request.raw_body
31+
try:
32+
body = json.loads(body) # Incase encoded as JSON
33+
except (ValueError, TypeError):
34+
pass
35+
context['curl'] = curl_cmd(url=request.build_absolute_uri(silk_request.path),
3036
method=silk_request.method,
3137
query_params=query_params,
3238
body=body,
3339
content_type=silk_request.content_type),
34-
'query_params': json.dumps(query_params, sort_keys=True, indent=4) if query_params else None,
35-
'client': gen(path=silk_request.path,
40+
context['client'] = gen(path=silk_request.path,
3641
method=silk_request.method,
3742
query_params=query_params,
3843
data=body,
39-
content_type=silk_request.content_type),
40-
'request': request
41-
}
44+
content_type=silk_request.content_type),
45+
4246
return render(request, 'silk/request.html', context)

0 commit comments

Comments
 (0)