r266-tech f8fca7a72f
fix: add __iter__ and __next__ to FileWrapper for PEP 3333 compliance (#3550)
* fix: add __iter__ and __next__ to FileWrapper for PEP 3333 compliance

The WSGI spec (PEP 3333) requires that wsgi.file_wrapper return an
iterable object. Gunicorn's FileWrapper only implemented __getitem__,
which technically makes it iterable via old-style iteration but breaks
code that explicitly relies on the iterator protocol (e.g., calling
iter() or using next()).

This adds __iter__ (returning self) and __next__ to make FileWrapper
a proper iterator, maintaining backward compatibility with existing
__getitem__-based usage.

Fixes #3396

* Fix lint: move imports to top of file

---------

Co-authored-by: contributor <noreply@users.noreply.github.com>
Co-authored-by: Benoit Chesneau <bchesneau@gmail.com>
2026-03-24 22:38:16 +01:00
2026-02-06 08:21:18 +01:00
2026-01-23 01:20:03 +01:00
2026-02-06 08:21:18 +01:00
2026-01-27 09:46:42 +01:00
2026-02-06 08:21:18 +01:00
2026-01-23 01:20:03 +01:00

Gunicorn

Gunicorn is maintained by volunteers. If it powers your production, please consider supporting us:
GitHub Sponsors Open Collective Revolut

PyPI version Supported Python versions Build Status

Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model ported from Ruby's Unicorn project. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resource usage, and fairly speedy.

New in v25: Per-app worker allocation for dirty arbiters, HTTP/2 support (beta)!

Quick Start

pip install gunicorn
gunicorn myapp:app --workers 4

For ASGI applications (FastAPI, Starlette):

gunicorn myapp:app --worker-class asgi

Features

  • WSGI support for Django, Flask, Pyramid, and any WSGI framework
  • ASGI support for FastAPI, Starlette, Quart
  • HTTP/2 support (beta) with multiplexed streams
  • Dirty Arbiters (beta) for heavy workloads (ML models, long-running tasks)
  • uWSGI binary protocol for nginx integration
  • Multiple worker types: sync, gthread, gevent, eventlet, asgi
  • Graceful worker process management
  • Compatible with Python 3.9+

Documentation

Full documentation at https://gunicorn.org

Community

Support

Powering Python apps since 2010. Support continued development.

Become a Sponsor

License

Gunicorn is released under the MIT License. See the LICENSE file for details.

Description
gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.
Readme MIT 8.2 MiB
Languages
Python 99.9%