{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":135839606,"defaultBranch":"main","name":"hypercorn","ownerLogin":"pgjones","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-06-02T17:47:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1391482?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1704117007.0","currentOid":""},"activityList":{"items":[{"before":"b316c2464388010c1fa5874e6d8678a9e7c30933","after":"bb34f360cbefbbecec72605e306cf164af349296","ref":"refs/heads/main","pushedAt":"2024-05-11T01:48:39.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"njsmith","name":"Nathaniel J. Smith","path":"/njsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609896?s=80&v=4"},"commit":{"message":"don't log oserror","shortMessageHtmlLink":"don't log oserror"}},{"before":"aee69f5fcc5dda48e33e6566e9068d4fe03c1e30","after":"b316c2464388010c1fa5874e6d8678a9e7c30933","ref":"refs/heads/main","pushedAt":"2024-05-09T18:37:25.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"njsmith","name":"Nathaniel J. Smith","path":"/njsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609896?s=80&v=4"},"commit":{"message":"more format","shortMessageHtmlLink":"more format"}},{"before":"a099217fdfd80035f43fc3bd467818acdef7b5af","after":"aee69f5fcc5dda48e33e6566e9068d4fe03c1e30","ref":"refs/heads/main","pushedAt":"2024-05-07T06:12:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"njsmith","name":"Nathaniel J. Smith","path":"/njsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609896?s=80&v=4"},"commit":{"message":"Demonstrate and fix a statsd logging bug","shortMessageHtmlLink":"Demonstrate and fix a statsd logging bug"}},{"before":"31639ec2f4d03aa920b95c84686163901224c6cf","after":"a099217fdfd80035f43fc3bd467818acdef7b5af","ref":"refs/heads/main","pushedAt":"2024-05-07T06:10:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"njsmith","name":"Nathaniel J. Smith","path":"/njsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/609896?s=80&v=4"},"commit":{"message":"Set TCP_NODELAY on sockets","shortMessageHtmlLink":"Set TCP_NODELAY on sockets"}},{"before":"155a1f66714f01582ab3d6c0a9bcb01f1b64d684","after":"31639ec2f4d03aa920b95c84686163901224c6cf","ref":"refs/heads/main","pushedAt":"2024-04-11T20:00:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Bugfix don't double-access log if the response was sent\n\nThe access log after StreamClosed is meant for requests that are not\nresponded to - usually due to an error that would otherwise go\nunnoticed without this log.","shortMessageHtmlLink":"Bugfix don't double-access log if the response was sent"}},{"before":"c37a9abc10c6282e6006c31c8c4312df34d6d822","after":"155a1f66714f01582ab3d6c0a9bcb01f1b64d684","ref":"refs/heads/main","pushedAt":"2024-04-11T19:49:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"encode headers using latin-1","shortMessageHtmlLink":"encode headers using latin-1"}},{"before":"3fbd5f245e5dfeaba6ad852d9135d6a32b228d05","after":"c37a9abc10c6282e6006c31c8c4312df34d6d822","ref":"refs/heads/main","pushedAt":"2024-04-11T19:45:20.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"fixed all tests","shortMessageHtmlLink":"fixed all tests"}},{"before":"bc39603a06458a6fa7fc7bd7aafee52b08614e88","after":"3fbd5f245e5dfeaba6ad852d9135d6a32b228d05","ref":"refs/heads/main","pushedAt":"2024-01-04T23:14:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Properly set host header to ascii string in ProxyFixMiddleware.","shortMessageHtmlLink":"Properly set host header to ascii string in ProxyFixMiddleware."}},{"before":"b8197d5f5dc1617063b75046fdb772ff9991877e","after":"bc39603a06458a6fa7fc7bd7aafee52b08614e88","ref":"refs/heads/main","pushedAt":"2024-01-01T15:17:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Add max_requests and max_requests_jitter to configuration docs\n\nThis was missed in 7c39c68b61012a3c30979176080861c8b00fb229","shortMessageHtmlLink":"Add max_requests and max_requests_jitter to configuration docs"}},{"before":"f8e4e5de3aec7f8eb986535163c3d5b4f424465c","after":"b8197d5f5dc1617063b75046fdb772ff9991877e","ref":"refs/heads/main","pushedAt":"2024-01-01T14:48:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Fix the year\n\nIt is now 2024!","shortMessageHtmlLink":"Fix the year"}},{"before":"0bb4fb9de5e00dbaece82a6c02617d1d9c0c8e56","after":"f8e4e5de3aec7f8eb986535163c3d5b4f424465c","ref":"refs/heads/main","pushedAt":"2024-01-01T13:50:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Bump and release 0.16.0","shortMessageHtmlLink":"Bump and release 0.16.0"}},{"before":"c0468e555c6e6617dd92377c2c2efff862268de7","after":"0bb4fb9de5e00dbaece82a6c02617d1d9c0c8e56","ref":"refs/heads/main","pushedAt":"2024-01-01T13:43:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Don't error on LocalProtoclErrors for ws streams\n\nThere is a race condition being hit in the autobahn compliance tests\nwhereby the client closes the stream and the server responds with an\nacknowledgement. Whilst the server responds the app sends a message,\nwhich now errors as the WSConnection state is closed.\n\nAs the state is managed by the WSStream, rather than the WSConnection\nit makes sense to ignore these errors.","shortMessageHtmlLink":"Don't error on LocalProtoclErrors for ws streams"}},{"before":"125bb002903c0e2d60ab6cb36d00dba3cfad6d03","after":"c0468e555c6e6617dd92377c2c2efff862268de7","ref":"refs/heads/main","pushedAt":"2023-12-29T10:27:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Remove old warning","shortMessageHtmlLink":"Remove old warning"}},{"before":"4fc0372483210257d28d9e0b5f7746df145449c6","after":"125bb002903c0e2d60ab6cb36d00dba3cfad6d03","ref":"refs/heads/main","pushedAt":"2023-12-28T12:01:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Switch wsgi.errors to stdout\n\nThis matches other examples and the WSGI specification.","shortMessageHtmlLink":"Switch wsgi.errors to stdout"}},{"before":"2d2c62bac7b83a8c6766fe3a517f63ff842e5c38","after":"4fc0372483210257d28d9e0b5f7746df145449c6","ref":"refs/heads/main","pushedAt":"2023-12-28T11:51:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Add ProxyFix middleware\n\nThis allows for Hypercorn to be used behind a proxy with the headers\nbeing \"fixed\" such that the proxy is not present as far as the app is\nconcerned. This makes it easier to write applications that run behind\nproxies.\n\nNote I've defaulted to legacy mode as AWS's load balancers don't\nsupport the modern Forwarded header and I assume that makes up a large\npercentage of real world usage.","shortMessageHtmlLink":"Add ProxyFix middleware"}},{"before":"cb443a4a4e0f4ff200cf94b83e52161413ea4501","after":"2d2c62bac7b83a8c6766fe3a517f63ff842e5c38","ref":"refs/heads/main","pushedAt":"2023-12-27T18:28:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Improve WSGI compliance\n\nThe response body is closed if it has a close method as per PEP\n3333. In addition the response headers are only sent when the first\nresponse body byte is available to send. Finally, an error is raised\nif start_response has not been called by the app.","shortMessageHtmlLink":"Improve WSGI compliance"}},{"before":"1f874fc2076541feeacff78f472fdddb01ccc0a7","after":"cb443a4a4e0f4ff200cf94b83e52161413ea4501","ref":"refs/heads/main","pushedAt":"2023-12-27T11:03:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"if any of our subprocesses exits with a non-zero exit code, we should also exit with a non-zero exit code.","shortMessageHtmlLink":"if any of our subprocesses exits with a non-zero exit code, we should…"}},{"before":"2b0aad3b1fde7362d785eb489f36e152d1deec16","after":"1f874fc2076541feeacff78f472fdddb01ccc0a7","ref":"refs/heads/main","pushedAt":"2023-12-27T11:02:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Handle `asyncio.CancelledError` when socket is closed without flushing","shortMessageHtmlLink":"Handle asyncio.CancelledError when socket is closed without flushing"}},{"before":"926c4303a7298ce53a772cf6cec9a3da75be35a2","after":"2b0aad3b1fde7362d785eb489f36e152d1deec16","ref":"refs/heads/main","pushedAt":"2023-12-27T10:58:45.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Send the hinted error from h11 on RemoteProtocolErrors\n\nThis properly punches through 431 status codes","shortMessageHtmlLink":"Send the hinted error from h11 on RemoteProtocolErrors"}},{"before":"0e4117da672c4d9ec09a7802a2c641539a03042c","after":"926c4303a7298ce53a772cf6cec9a3da75be35a2","ref":"refs/heads/main","pushedAt":"2023-12-26T18:37:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Add a max keep alive requests configuration option\n\nThis will cause HTTP/1 and HTTP/2 requests to close when the limit has\nbeen reached. This matches nginx's mitigation against the rapid reset\nHTTP/2 attack.","shortMessageHtmlLink":"Add a max keep alive requests configuration option"}},{"before":"33ed00670894b29ec00f4341a4ec5100e3ade747","after":"0e4117da672c4d9ec09a7802a2c641539a03042c","ref":"refs/heads/main","pushedAt":"2023-12-26T10:33:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Fix latest mypy issues","shortMessageHtmlLink":"Fix latest mypy issues"}},{"before":"19dfb96411575a6a647cdea63fa581b48ebb9180","after":"33ed00670894b29ec00f4341a4ec5100e3ade747","ref":"refs/heads/main","pushedAt":"2023-11-27T19:39:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Update the installation docs to use pip\n\nI don't use pipenv and think it is less clear/popular than pip.","shortMessageHtmlLink":"Update the installation docs to use pip"}},{"before":"042fd103c359d1f43378daaf8301317a6bb6800c","after":"19dfb96411575a6a647cdea63fa581b48ebb9180","ref":"refs/heads/main","pushedAt":"2023-11-01T21:24:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Relax shutdown_trigger annotation","shortMessageHtmlLink":"Relax shutdown_trigger annotation"}},{"before":"2724ad6c307239f6ee7854c7d1794a625f66f7d4","after":"042fd103c359d1f43378daaf8301317a6bb6800c","ref":"refs/heads/main","pushedAt":"2023-10-29T22:52:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Correct the changelog\n\nI had meant to release 0.14.5, but I released 0.15.0 due to tiredness.","shortMessageHtmlLink":"Correct the changelog"}},{"before":"662ffa952331e0e0696010624e3738dec0d855fb","after":"2724ad6c307239f6ee7854c7d1794a625f66f7d4","ref":"refs/heads/main","pushedAt":"2023-10-29T22:48:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Bump and release 0.15.0","shortMessageHtmlLink":"Bump and release 0.15.0"}},{"before":"30e6f03a11a138280bde4dc7ec66c668242c87c6","after":"662ffa952331e0e0696010624e3738dec0d855fb","ref":"refs/heads/main","pushedAt":"2023-10-29T10:21:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Disable multiprocessing if number of workers is 0\n\nThis should allow support of Digital Ocean and other hosting\nenvironments that don't support multiprocessing. Note thought there is\nno intention of supporting the reloader in this state (as pre 14.3).","shortMessageHtmlLink":"Disable multiprocessing if number of workers is 0"}},{"before":"76bd00f338dcf9fc40637bd53706ccc45bb10fef","after":"30e6f03a11a138280bde4dc7ec66c668242c87c6","ref":"refs/heads/main","pushedAt":"2023-10-28T21:36:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Bugfix scope client usage for sock binding\n\nThe scope client can be None, especially for unix sock usage. This\nshould result in REMOTE_ADDR not being set.","shortMessageHtmlLink":"Bugfix scope client usage for sock binding"}},{"before":"4854ffd89e8661213ff20828b7568a9f004803a9","after":"76bd00f338dcf9fc40637bd53706ccc45bb10fef","ref":"refs/heads/main","pushedAt":"2023-10-28T19:08:51.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Fix fomatting in 4854ffd89e8661213ff20828b7568a9f004803a9","shortMessageHtmlLink":"Fix fomatting in 4854ffd"}},{"before":"42ac5db187b911db65c96a4592f863e9563988fb","after":"4854ffd89e8661213ff20828b7568a9f004803a9","ref":"refs/heads/main","pushedAt":"2023-10-28T19:04:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"fix: Autoreload error because reausing old sockets\n\nFixing issues: \r\n# 129\r\n# 118\r\n# 111\r\n# 108","shortMessageHtmlLink":"fix: Autoreload error because reausing old sockets"}},{"before":"96e3fce5c634c80b95da553b870ee62daa6af68b","after":"42ac5db187b911db65c96a4592f863e9563988fb","ref":"refs/heads/main","pushedAt":"2023-10-28T19:02:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"pgjones","name":"Phil Jones","path":"/pgjones","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1391482?s=80&v=4"},"commit":{"message":"Only load the application in the main process if the reloader is being used.","shortMessageHtmlLink":"Only load the application in the main process if the reloader is bein…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERwn37wA","startCursor":null,"endCursor":null}},"title":"Activity · pgjones/hypercorn"}