ErrLookup › aio-libs/aiohttp
aio-libs/aiohttp
Asynchronous HTTP client/server framework for asyncio and Python · Python · 60 source files
Analyzed at c0ef574e29 on 2026-08-04. 223 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| module {__name__} has no attribute {name} | exception | error | api, import, attributes, version-migration |
| Invalid window size | exception | error | websocket, handshake, compression, client, deflate |
| Extension for deflate not supported{ext} | exception | error | websocket, handshake, compression, client, deflate |
| Compress wbits must between 9 and 15, zlib does not support | validation | error | websocket, compression, validation, deflate, server |
1002 Continuation frame for non started message | exception | error | websocket, protocol, fragmentation, cython, close-1002 |
1009 Decompressed message exceeds size limit {max_msg_size} | exception | warning | websocket, compression, size-limit, security, cython, close-1009 |
1007 Invalid UTF-8 text message | exception | error | websocket, encoding, utf8, text, cython, close-1007 |
1002 Continuation frame for non started message | exception | error | websocket, protocol, fragmentation, pure-python, close-1002 |
1009 Decompressed message exceeds size limit {max_msg_size} | exception | error | websocket, compression, size-limit, security, rfc7692 |
1007 Invalid UTF-8 text message | exception | error | websocket, utf-8, text-decoding, rfc6455, server |
| Cannot write to closing transport | exception | error | websocket, writer, connection-reset, lifecycle, concurrency |
| Connection lost | exception | error | connection, connection-reset, transport, flow-control, client |
| Connection timeout to host {url} | exception | error | client, timeout, network, connection, configuration |
| base_url must have a trailing '/' | validation | error | client, configuration, validation, url, constructor |
| ssl should be SSLContext, Fingerprint, or bool, got {ssl!r} | validation | error | client, ssl, configuration, type-error, constructor |
| timeout parameter cannot be of {type} type, please use 'time | validation | error | client, timeout, configuration, api-misuse |
| Session and connector have to use same event loop | exception | error | client, asyncio, event-loop, configuration |
| Inheritance class {cls} from ClientSession is forbidden | validation | error | client, api-misuse, inheritance, design |
| Session is closed | exception | error | client, lifecycle, resource-management, use-after-close |
| data and json parameters can not be used at the same time | validation | error | client, request-body, api-misuse, validation |
| Cannot combine AUTHORIZATION header with credentials encoded | validation | error | client, authentication, security, url |
| Cannot follow redirect with a consumed request body. Use byt | exception | error | client, redirect, request-body, streaming |
| Server attempted redirecting to a location that does not loo | exception | error | client, redirect, url, server-misbehavior |
| Invalid redirect URL origin | exception | error | client, redirect, url, origin, server-misbehavior |
| Invalid response status | exception | error | client, websocket, handshake, server-misbehavior |
| Invalid upgrade header | exception | error | client, websocket, handshake, headers, proxy |
| Invalid connection header | exception | error | client, websocket, handshake, connection-upgrade, proxy |
| Invalid challenge response | exception | error | client, websocket, handshake, protocol, server-misbehavior |
| None is not allowed as login value | validation | error | client, digest-auth, authentication, validation |
| None is not allowed as password value | validation | error | client, digest-auth, authentication, validation, secrets |
| A ":" is not allowed in username (RFC 1945#section-11.1) | validation | error | client, digest-auth, authentication, validation, rfc |
| Malformed Digest auth challenge: Missing 'realm' parameter | exception | error | client, digest-auth, authentication, server-misbehavior, rfc |
| Malformed Digest auth challenge: Missing 'nonce' parameter | exception | error | client, digest-auth, authentication, server-misbehavior, rfc, security |
| Security issue: Digest auth challenge contains empty 'nonce' | exception | error | security, auth, digest-auth, http-client |
| Digest auth error: Unsupported Quality of Protection (qop) v | exception | error | auth, digest-auth, http-client, configuration |
| Digest auth error: Unsupported hash algorithm: {algorithm}. | exception | error | auth, digest-auth, cryptography, configuration |
| total timeout must be a positive number or None to disable, | validation | error | timeout, configuration, http-client, migration |
| fingerprint has invalid length | validation | error | tls, ssl, fingerprint, certificate-pinning |
| md5 and sha1 are insecure and not supported. Use sha256. | validation | error | security, tls, ssl, fingerprint, certificate-pinning, cryptography |
| Connection closed | exception | error | http-client, lifecycle, connection-pool, response-handling |
| Cannot compute fallback encoding of a not yet read body | exception | error | encoding, charset, response-handling, http-client |
| Attempt to decode JSON with unexpected mimetype: %s | exception | warning | json, content-type, response-handling, http-client |
| Method cannot contain non-token characters {method!r} (found | validation | error | security, http, request-smuggling, validation, injection |
| {url} | exception | error | url, validation, http-client, configuration |
| Invalid Content-Length header: {content_length_hdr!r} | validation | error | http, headers, validation, request-smuggling |
| compress can not be set if Content-Encoding header is set | validation | error | http, headers, compression, request-building, configuration |
| compress must be one of True, False, 'deflate', or 'gzip' | validation | error | http, compression, validation, request-building |
| chunked can not be set if "Transfer-Encoding: chunked" heade | validation | error | http, headers, transfer-encoding, request-building, configuration |
| chunked can not be set if Content-Length header is set | validation | error | http, headers, transfer-encoding, content-length, request-building |
| aiohttp only supports http(s) proxies (got: {proxy.scheme!r} | validation | error | proxy, http-client, configuration, socks |
| data argument must be str (%r) | validation | error | websocket, type-error, validation, client-ws |
| data argument must be byte-ish (%r) | validation | error | websocket, type-error, validation, client-ws |
| Concurrent call to receive() is not allowed | exception | error | websocket, concurrency, client-ws, asyncio |
| Received message {msg.type}:{msg.data!r} is not WSMsgType.TE | exception | error | websocket, client, message-type, receive |
| Received message {msg.type}:{msg.data!r} is not WSMsgType.BI | exception | error | websocket, client, message-type, receive |
| The brotli decompression is not available. Please install `B | exception | error | compression, brotli, missing-dependency, response |
| The zstd decompression is not available. Please install `bac | exception | error | compression, zstd, missing-dependency, response |
| keepalive_timeout cannot be set if force_close is True | validation | error | connector, config, keepalive, validation |
| Connector is closed. | exception | error | connector, lifecycle, race, shutdown |
| ssl should be SSLContext, Fingerprint, or bool, got {ssl!r} | validation | error | connector, ssl, type-validation, config |
| either both host and port or none of them are allowed | validation | error | connector, dns, validation, cache |
| {host} - is not a canonical IPv4 address | exception | error | url, ipv4, validation, security, connector |
| Connector is closed | exception | error | connector, lifecycle, dns, shutdown |
| Cannot connect to host {host}:{port} ssl:{ssl} [{ClassName}: | exception | error | connector, ssl, certificate, tls, client |
| Cannot connect to host {host}:{port} ssl:{ssl} [{strerror}] | exception | error | connector, ssl, tls, handshake, client |
| Cannot initialize a TLS-in-TLS connection to host {req.url.h | exception | error | connector, ssl, proxy, tls-in-tls, event-loop, client |
| {reason} | http | error | connector, proxy, http, authentication, client |
| Cannot connect to unix socket {path} ssl:{ssl} [{strerror}] | exception | error | connector, unix-socket, filesystem, ipc, client |
| Named Pipes only available in proactor loop under windows | exception | error | connector, named-pipe, windows, event-loop, platform |
| filename must be an instance of str. Got: %s | validation | error | formdata, type-error, validation, multipart |
| content_type must be an instance of str. Got: %s | validation | error | formdata, type-error, validation, multipart, content-type |
| Only io.IOBase, multidict and (name, file) pairs allowed, us | validation | error | formdata, type-error, multipart, api-misuse |
| expected str, got {value!r} | validation | error | formdata, type-error, urlencoded, serialization |
| Can not serialize value type: %r headers: %r value: %r | validation | error | formdata, serialization, multipart, payload |
| A ":" is not allowed in login (RFC 7617#section-2) | validation | error | auth, basic-auth, validation, rfc-7617 |
| No .netrc file found | exception | warning | netrc, proxy, auth, config, env |
| No entry for {host!s} found in the `.netrc` file. | exception | warning | netrc, proxy, auth, config |
| Proxying is disallowed for `{url.host!r}` | exception | warning | proxy, no-proxy, env, config |
| No proxies found for `{url!s}` in the env | exception | warning | proxy, env, config, scheme |
| bad content for quoted-string {content!r} | validation | error | content-disposition, mime, encoding, validation |
| bad content disposition type {disptype!r} | validation | error | content-disposition, validation, mime, headers |
| bad content disposition parameter {key!r}={val!r} | validation | error | content-disposition, validation, mime, headers |
| Timeout context manager should be used inside a task | exception | error | timeout, asyncio, task, usage |
| Failed to get module name. | exception | error | appkey, asyncio, internals, module |
| Inheritance class {cls.__name__} from ChainMapProxy is forbi | validation | error | chainmapproxy, inheritance, internals, application |
| {key} | exception | error | chainmapproxy, keyerror, application, storage, middleware |
| Value {value!r} is not a valid etag. Maybe it contains '"'? | validation | error | etag, validation, headers, conditional-request |
| Invalid HTTP header: {hdr!r} | http | error | http-parser, headers, bad-http-message, malformed |
| Got more than {limit} bytes when reading: {line!r}. | http | error | http, headers, parser, limits, response, configuration |
| Duplicate '{name}' header found. | http | error | http, headers, security, request-smuggling, parser, request |
| Data after `Connection: close` | http | error | http, connection, keep-alive, parser, pipelining |
| Too many headers received | http | error | http, limits, parser, dos, configuration |
| Bad line ending, expected CRLF | http | error | http, protocol, parser, line-endings, request |
| Transfer-Encoding can't be present with Content-Length | http | error | http, security, request-smuggling, parser, headers, transfer-encoding |
| Bad HTTP method in status line {line!r} | http | error | http, protocol, parser, tls, request-line |
| Bad status line {line!r} | http | error | http, protocol, parser, request-line, version |
| {path} | http | error | http, url, parser, request-line, validation |
| Missing 'Host' header in request. | http | error | http, headers, host, parser, validation, request |
| Request has duplicate `chunked` Transfer-Encoding | http | error | http, transfer-encoding, security, request-smuggling, parser, request |
| Request has invalid `Transfer-Encoding` | http | error | http, parser, request, transfer-encoding, rfc9112 |
| Not enough data to satisfy content length header (received { | http | error | http, parser, payload, content-length, truncated |
| Not enough data to satisfy transfer length header. | http | error | http, parser, payload, chunked, transfer-encoding, truncated |
| Too many trailers received | exception | error | http, parser, chunked, trailers, limits, dos |
| Can not decode content-encoding: brotli (br). Please install | exception | error | http, compression, brotli, dependency, response |
| Can not decode content-encoding: zstandard (zstd). Please in | exception | error | http, compression, zstandard, zstd, dependency, response |
| Can not decode content-encoding: %s | exception | error | http, compression, decode-error, response, corruption |
| deflate | exception | error | http, compression, deflate, truncated, response |
| Cannot write to closing transport | exception | error | http, writer, transport, connection-reset, network |
| Forbidden control character detected in headers. Potential h | validation | critical | http, writer, headers, security, header-injection, crlf |
| invalid Content-Length: {length!r} | validation | error | multipart, content-length, validation, parser |
| Reader did not read all the data or it is malformed | validation | error | multipart, framing, boundary, malformed, parser |
| Reading after EOF | validation | error | multipart, eof, truncated, boundary, parser |
| data cannot be decoded with %s encoding | validation | error | multipart, encoding, form-data, charset |
| unknown content encoding: {encoding} | exception | error | multipart, content-encoding, compression, decoding |
| unknown content transfer encoding: {encoding} | exception | error | multipart, content-transfer-encoding, mime, decoding |
| Unable to decode. | validation | error | multipart, payload, streaming, api-misuse |
| Unable to read body part as bytes. Use write() to consume. | validation | error | multipart, payload, streaming, memory, api-misuse |
| boundary missed for Content-Type: %s | validation | error | multipart, content-type, boundary, protocol |
| Invalid default charset | exception | error | multipart, form-data, charset, validation, security |
| boundary %r is too long (70 chars max) | validation | error | multipart, boundary, protocol, validation |
| Could not find starting boundary {self._boundary!r} | validation | error | multipart, boundary, streaming, protocol |
| Invalid boundary {chunk!r}, expected {self._boundary!r} | validation | error | multipart, boundary, protocol, corruption |
| Too many headers received | exception | error | multipart, headers, limits, security, dos-protection |
| boundary should contain ASCII only chars | validation | error | multipart, boundary, ascii, writer |
| boundary value contains invalid characters | validation | error | multipart, boundary, validation, writer, http-grammar |
| Cannot create payload from %r | validation | error | multipart, payload, writer, type-error |
| unknown content transfer encoding: {te_encoding} | exception | error | multipart, content-transfer-encoding, writer, mime |
| Unsupported order {order!r} | validation | error | payload, registry, internal, enum |
| value argument must be byte-ish, not {type(value)!r} | validation | error | payload, bytes, type-error, encoding |
| value argument must support collections.abc.AsyncIterable in | validation | error | payload, streaming, typeerror, typing |
| Unable to decode - content not cached. Call as_bytes() first | validation | error | payload, streaming, state |
| Resolver requires aiodns library | exception | error | dns, dependency, configuration |
| DNS lookup failed | exception | error | dns, network, resolver, retryable |
| Called begin_http_chunk_receiving when some data was already | exception | error | streams, http-parser, internal, chunked |
| Called end_chunk_receiving without calling begin_chunk_recei | exception | error | streams, http-parser, internal, chunked |
| Connection closed. | exception | error | streams, connection, lifecycle |
| %s() called while another coroutine is already waiting for i | exception | error | streams, concurrency, asyncio |
| Separator should be at least one-byte string | validation | error | streams, validation, api |
| Got more than {limit} bytes when reading: {line!r}. | exception | error | streams, limits, http, security |
| Called while some coroutine is waiting for incoming data. | exception | error | streams, concurrency, sync-mixing |
| EmptyStreamReader._on_chunk_received is read-only | validation | error | streams, internal, singleton, instrumentation |
| Inheritance class {cls.__name__} from web.Application is for | validation | error | web-app, api, design |
| Changing state of started or joined application is forbidden | exception | error | web-app, lifecycle, state |
| Prefix must be str | validation | error | web-app, subapp, typing, validation |
| Prefix cannot be empty | validation | error | web-app, subapp, validation |
| Cannot add sub application to frozen application | exception | error | web-app, subapp, lifecycle, router |
| Cannot add frozen application | exception | error | web-app, subapp, lifecycle, reuse |
| Domain must be str | validation | error | web-app, subapp, domain, typing, validation |
| Multiple errors on cleanup stage | exception | error | lifecycle, shutdown, cleanup, async |
| Reason cannot contain \r or \n | validation | warning | http, security, response-splitting, validation |
| Connection lost | exception | warning | network, connection-reset, sendfile, file-response |
| Response is sent already, cannot send another response with | exception | error | http, streaming, error-handling, connection |
| Cannot clone request after reading its content | exception | error | request, middleware, body, clone |
| range not in acceptable format | validation | warning | http, range, validation, header-parsing |
| start cannot be after end | validation | warning | http, range, validation |
| No start or end of range specified | validation | warning | http, range, validation, header-parsing |
| Multipart field missing name. | validation | error | request, multipart, form-data, validation |
| To decode nested multipart you need to use custom reader | validation | error | request, multipart, nested, form-data |
| Reason cannot contain \r or \n | validation | warning | http, security, response-splitting, validation |
| You can't enable chunked encoding when a content length is s | exception | error | http, response, chunked, framing |
| You can't set content length when chunked encoding is enable | exception | error | http, response, chunked, framing |
| Setting charset for application/octet-stream doesn't make se | exception | error | http, headers, content-type, charset, response |
| Unsupported type for last_modified: {type(value).__name__} | validation | error | http, headers, last-modified, type-check, response |
| Unsupported etag type: {type(value)}. etag must be str, ETag | validation | error | http, headers, etag, type-check, response |
| Using chunked encoding is forbidden for HTTP/{major}.{minor} | exception | error | http, chunked, transfer-encoding, protocol, response |
| Cannot call write() after write_eof() | exception | error | http, streaming, lifecycle, response |
| Cannot call write() before prepare() | exception | error | http, streaming, lifecycle, prepare, response |
| body and text are not allowed together | validation | error | http, response, constructor, validation |
| charset must not be in content_type argument | validation | error | http, headers, content-type, charset, response |
| passing both Content-Type header and content_type or charset | validation | error | http, headers, content-type, conflict, response |
| text argument must be str (%r) | validation | error | http, response, type-check, text, encoding |
| Unsupported body type %r | validation | error | http, response, body, payload, type-check |
| Content length is set automatically | exception | error | http, headers, content-length, response, readonly |
| only one of data, text, or body should be specified | validation | error | http, json, response, validation |
| only one of data or body should be specified | validation | error | http, json, response, bytes, validation |
| Call runner.setup() before making a site | exception | error | server, lifecycle, runner, site, startup |
| Named Pipes only available in proactor loop under windows | exception | error | server, named-pipe, windows, platform, event-loop |
| Site {site} is already registered in runner {self} | exception | error | server, runner, site, lifecycle, duplicate |
| Site {site} is not registered in runner {self} | exception | error | server, runner, site, lifecycle, shutdown |
| The first argument should be web.Application instance, got { | validation | error | aiohttp, web-server, type-error, app-runner, startup |
| access_log_class must be subclass of aiohttp.abc.AbstractAcc | validation | error | aiohttp, web-server, logging, type-error, app-runner |
| {method} is not allowed HTTP method | validation | error | aiohttp, routing, http-method, value-error, registration |
| Only async functions are allowed as web-handlers, got {handl | validation | error | aiohttp, routing, async, handler, type-error |
| Cannot change apps stack after .freeze() call | exception | error | aiohttp, routing, sub-app, lifecycle, runtime-error |
| Expected one of the following apps {self._apps!r}, got {app! | exception | error | aiohttp, routing, sub-app, debug, internal |
| Added route will never be executed, method {route.method} is | exception | error | aiohttp, routing, duplicate, registration, runtime-error |
| Invalid path '{path}'['{part}'] | validation | error | aiohttp, routing, path, value-error, registration |
| Bad pattern '{pattern}': {exc} | validation | error | aiohttp, routing, regex, path, value-error |
| '{directory}' does not exist | validation | error | aiohttp, static-files, filesystem, deployment, value-error |
| '{directory}' is not a directory | validation | error | aiohttp, static-files, filesystem, value-error, configuration |
| OPTIONS route was set already | exception | error | aiohttp, static-files, options, setup, runtime-error |
| .url_for() is not supported by sub-application root | exception | error | aiohttp, sub-app, url-for, reverse-url, runtime-error |
| Domain must be str | validation | error | aiohttp, domain-matching, type-error, sub-app, configuration |
| Domain cannot be empty | validation | error | aiohttp, domain-matching, value-error, validation, configuration |
| Scheme not supported | validation | error | aiohttp, domain-matching, value-error, url, configuration |
| Domain not valid | validation | error | |
| .url_for() is not allowed for SystemRoute | exception | error | |
| Method Not Allowed | http | error | |
| Cannot register a resource into frozen router. | exception | error | |
| Incorrect route name {name!r}, python keywords cannot be use | validation | error | |
| Incorrect route name {name!r}, the name should be a sequence | validation | error | |
| Duplicate {name!r}, already handled by {self._named_resource | validation | error | |
| path should be started with / or be empty | validation | error | |
| No WebSocket UPGRADE hdr: {headers.get(hdrs.UPGRADE)} Can " | http | error | |
| No CONNECTION upgrade hdr: {headers.get(hdrs.CONNECTION)} | http | error | |
| Unsupported version: {version} | http | error | |
| Handshake error: {key!r} | http | error | |
| Connection lost | exception | error | |
| Already started | exception | error | |
| Call .prepare() first | exception | error | |
| data argument must be str (%r) | validation | error | |
| data argument must be byte-ish (%r) | validation | error | websocket, server, types, send-bytes |
| Response has not been started | exception | error | websocket, server, lifecycle, eof |
| Concurrent call to receive() is not allowed | exception | error | websocket, server, concurrency, receive |
| WebSocket connection is closed. | exception | error | websocket, server, lifecycle, receive, closed |
| Received message {msg.type}:{msg.data!r} is not WSMsgType.TE | exception | error | websocket, server, types, receive |
| Received message {msg.type}:{msg.data!r} is not WSMsgType.BI | exception | error | websocket, server, types, receive |
| Cannot call .write() for websocket | exception | error | websocket, server, api-misuse, write |
| wsgi app should be either Application or async function retu | exception | critical | gunicorn, worker, deployment, config |
| SSL is not supported. | exception | critical | gunicorn, worker, ssl, environment |
| Gunicorn's style options in form of `%(name)s` are not suppo | validation | error | gunicorn, worker, logging, config |
| Use Python 3.11+ to run 'make sync-direct-runtime-deps' | exception | warning | build, tooling, python-version, maintenance |
| aiohttp 4.x requires Python 3.10+ | exception | critical | install, python-version, setup, environment |