Skip to content

Client max size ignored on cloning web request object #2385

Closed
@playpauseandstop

Description

Long story short

_client_max_size private attr not specified on cloning web_request.BaseRequest object.

Expected behaviour

When web.Application using custom client_max_size and in same time some middleware that cloned request, like https_middleware, there is still able to upload any file larger then 1Mb as default Request._client_max_size will be overwritten with value from Application.

Actual behaviour

When web.Application using custom client_max_size and in same time some middleware that cloned request, like https_middleware, there is unable to upload any file larger then 1Mb as default Request._client_max_size not overwritten with value from Application after request.clone call.

Steps to reproduce

  • Enable https_middleware or any other middleware which clone request before passing to inner handler
  • Run aiohttp under nginx with HTTPS support
  • Upload any file larger then 1Mb
  • Get ValueError on await request.post() or HTTPRequestEntityTooLarge on await request.read()

Your environment

  • Python==3.6.3
  • aiohttp==2.3.1

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions