{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/KestrelHttpServer/issues/304","labels_url":"https://api.github.com/repos/aspnet/KestrelHttpServer/issues/304/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/KestrelHttpServer/issues/304/comments","events_url":"https://api.github.com/repos/aspnet/KestrelHttpServer/issues/304/events","html_url":"https://github.com/aspnet/KestrelHttpServer/issues/304","id":113977800,"number":304,"title":"Implement IHttpBufferingFeature.DisableRequestBuffering","user":{"login":"Tratcher","id":1821173,"avatar_url":"https://avatars.githubusercontent.com/u/1821173?v=3","gravatar_id":"","url":"https://api.github.com/users/Tratcher","html_url":"https://github.com/Tratcher","followers_url":"https://api.github.com/users/Tratcher/followers","following_url":"https://api.github.com/users/Tratcher/following{/other_user}","gists_url":"https://api.github.com/users/Tratcher/gists{/gist_id}","starred_url":"https://api.github.com/users/Tratcher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tratcher/subscriptions","organizations_url":"https://api.github.com/users/Tratcher/orgs","repos_url":"https://api.github.com/users/Tratcher/repos","events_url":"https://api.github.com/users/Tratcher/events{/privacy}","received_events_url":"https://api.github.com/users/Tratcher/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-29T04:28:14Z","updated_at":"2015-11-01T09:25:51Z","closed_at":null,"body":"As @halter73 explained it to me, kestrel will constantly read the incoming request body off the socket and buffer it in memory until the application retrieves it. This could consume significant amounts of memory if the app isn't draining it fast enough.\r\n\r\nShould Kestrel implement IHttpBufferingFeature.DisableRequestBuffering to stop preemptively buffering the request body and only read it on-demand? This would also let you put back-pressure on the client if they are sending data too quickly. This is also something that may make sense to enable/disable at startup."},"comment":{"url":"https://api.github.com/repos/aspnet/KestrelHttpServer/issues/comments/152811358","html_url":"https://github.com/aspnet/KestrelHttpServer/issues/304#issuecomment-152811358","issue_url":"https://api.github.com/repos/aspnet/KestrelHttpServer/issues/304","id":152811358,"user":{"login":"benaadams","id":1142958,"avatar_url":"https://avatars.githubusercontent.com/u/1142958?v=3","gravatar_id":"","url":"https://api.github.com/users/benaadams","html_url":"https://github.com/benaadams","followers_url":"https://api.github.com/users/benaadams/followers","following_url":"https://api.github.com/users/benaadams/following{/other_user}","gists_url":"https://api.github.com/users/benaadams/gists{/gist_id}","starred_url":"https://api.github.com/users/benaadams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benaadams/subscriptions","organizations_url":"https://api.github.com/users/benaadams/orgs","repos_url":"https://api.github.com/users/benaadams/repos","events_url":"https://api.github.com/users/benaadams/events{/privacy}","received_events_url":"https://api.github.com/users/benaadams/received_events","type":"User","site_admin":false},"created_at":"2015-11-01T09:25:51Z","updated_at":"2015-11-01T09:25:51Z","body":"Or a `max buffered` property?"}}