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

update wsgi to support big body #635

Closed
wants to merge 25 commits into from
Closed

update wsgi to support big body #635

wants to merge 25 commits into from

Conversation

abersheeran
Copy link
Member

After careful consideration, I found that tempfile is not feasible. So I changed my mind a little bit. In wsgi middleware, only read the smallest data into memory at a time.

Referring to tests/test_wsgi_post_big_file, I think this can achieve excellent performance in the reception of large files.

#371

abersheeran and others added 25 commits April 14, 2020 15:01
* Added asgi version and spec_version to scope
Minor import sort corrected in a test

* Added correct asgi version depending on interface used

* Lint

* Forgot websockets

* Added test for auto discovery of asgi interface

* Seperated config scope for asgi and protocol scope test

* Testing asgi_version

* Dont need anything in tested fake apps

* Flake8 !
Overriding the root logger is probably not intended here. See discussion in #630
Add '--app-dir' option to specify application directory when running uvicorn from any location
Closes #549
* 📝 Update changelog

* 🔖 Release version 0.11.6

* 👌 Update/simplify changelog
* 1st pass on adding windows vm for CI

* 2nd pass, was testing nothing

* No arrays

* No arrays 2

* No arrays 3

* No arrays 4

* Removed appveyor PATH export

* Using scripts on windows CI, will need to write ps1 scripts

* Matrix indent

* Location of scripts

* Hate CI

* Why ps1 are ignored

* Adding ps1 scripts, was globally ignored

* Chmod +x ps1

* Removing uvloop from win reqs

* Added install and test.sh scripts, globally ignored wtf

* Align win reqs to old .travis file

* Run really on windows ?

* Lost in matrix....

* Blind ps1

* Blind ps1 2nd pass

* Blind ps1 3rd pass

* Blind test.ps1 !

* Blind test.ps1 love

* Attempt specifying shell explicitely

* Try using bash on windows

* Detect os for requirements

* Use sh comparison

* Live debug

* Live debug 2

* More echo

* More echo

* More echo 2

* OSTYPE only in bash

* OSTYPE seems to be msys

* Using old names for scripts since we dont need to differentiate now between os

* Removed echo leftovers from live debugging and indented back to 4 spaces

* Correct set

* Removin=g unboud variable check

* Set -x before pip only

* Update install

* Set -e

Co-authored-by: Tom Christie <tom@tomchristie.com>
* Disallow invalid header characters

* Linting

* Fix escape sequence
* Quote path component before logging

* Linting
* Added AF_UNIX type socket to get client filled

* Removed travis debug

* Added travis verbose pytest for windows fail check

* Added travis verbose pytest for windows fail check

* No more tests output in travis now it's fixed on windows

* Useing a top level constant

* Lint
* Fix crash when --interface is wsgi

This is a regression introduced in
ae0fd31 (#597)

* Set asgi 3.0
…socket (#729)

* Revert "Corrected --proxy-headers client ip/host when using a unix socket (#636)"

This reverts commit a796e1d

* Distinguish case fd/unix socket to return correctly client

* Handle windows case

* Added test for AF_UNIX socket type
Modified MockSocket peername to pass tuples instead of list because socket.getpeername() and socket.getsockname() return tuples

* Black

* Removed test, black works locally but not in CI....

* Same deal on the server side of things

* Test on AF_UNIX only if it is in socket

* Simpler handling

* Removed debug leftovers
Co-authored-by: euri10 <euri10@users.noreply.github.com>
@abersheeran abersheeran closed this Aug 9, 2020
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.

None yet