Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to set the body limit for HTTP requests #1089

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hannahbast
Copy link
Member

As reported in #1088, for very large requests (e.g., due to a very large VALUES clause), the server currently does not provide a response. In the QLever log, the following error message appears, which originates from a call to boost::beast::http::async_read:

ERROR: body limit exceeded: body limit exceeded

This PR works around this limitation by setting the body limit explicitly in the code. The body limit could easily be made into a command line argument.

Here is a generic query to test whether it works for large requests (with the current master, this request shows the behavior explained above, with this PR it works fine):

N=100000; curl -s http://localhost:7015 -H "Accept: text/tab-separated-values" -H "Content-type: application/sparql-query" --data-binary @<(echo "SELECT * WHERE { VALUES ?x { $(seq 1 $N | tr '\n' ' ')} }")

@sonarcloud
Copy link

sonarcloud bot commented Sep 11, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant