Melissa Guo
Melissa Guo

Reputation: 1088

Request too large error making a request to App Engine

I have an app on App Engine Flex using the Python 3 runtime. I get the base64 encoded byte string of a resume file from Google Storage with the code below.

storage_client = storage.Client(project=[MYPROJECT])
bucket = storage_client.get_bucket([MYBUCKET])
blob = bucket.blob([MYKEY])
resume_file = blob.download_as_string()

resume_file = str(base64.b64encode(resume_file))[2:-1]

I send that as part of my request parameters like so:

headers = {'Authorization': 'Bearer {}'.format(signed_jwt),
           'content-type': 'application/json'}

params = {'inputtype': 'file',
           'resume': resume_file}
    
response = requests.get(HOST, headers=headers, params=params)

However, I get the following error:

Error 413 (Request Entity Too Large)

Your client issued a request that was too large

That's all we know

App Engine has a file size limit of 32MB. However, my file is only 24KB. How can I fix this error?

Upvotes: 0

Views: 864

Answers (1)

Melissa Guo
Melissa Guo

Reputation: 1088

I had to change my application to accept POST requests instead of GET requests.

Previously, I was sending the resume as a parameter. I'm now sending it as data:

payload = json.dumps({
            'inputtype': inputtype,
            'resume': inputresume
          })

response = requests.post(HOST, headers=headers, data=payload)

I am using Flask. Previously I was reading in the params using:

request.args.get('resume')

I changed it to:

request.get_json().get('resume')

This is an extension of the question/answer here

Upvotes: 1

Related Questions