{"action":"created","issue":{"url":"https://api.github.com/repos/actix/actix-web/issues/416","repository_url":"https://api.github.com/repos/actix/actix-web","labels_url":"https://api.github.com/repos/actix/actix-web/issues/416/labels{/name}","comments_url":"https://api.github.com/repos/actix/actix-web/issues/416/comments","events_url":"https://api.github.com/repos/actix/actix-web/issues/416/events","html_url":"https://github.com/actix/actix-web/pull/416","id":343635115,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAzMjIwNjEz","number":416,"title":"Add FromRequest<S> implementation for Option<T> and Result<T> where T: FromRequest<S>","user":{"login":"axos88","id":1281218,"node_id":"MDQ6VXNlcjEyODEyMTg=","avatar_url":"https://avatars1.githubusercontent.com/u/1281218?v=4","gravatar_id":"","url":"https://api.github.com/users/axos88","html_url":"https://github.com/axos88","followers_url":"https://api.github.com/users/axos88/followers","following_url":"https://api.github.com/users/axos88/following{/other_user}","gists_url":"https://api.github.com/users/axos88/gists{/gist_id}","starred_url":"https://api.github.com/users/axos88/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/axos88/subscriptions","organizations_url":"https://api.github.com/users/axos88/orgs","repos_url":"https://api.github.com/users/axos88/repos","events_url":"https://api.github.com/users/axos88/events{/privacy}","received_events_url":"https://api.github.com/users/axos88/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-07-23T13:33:27Z","updated_at":"2018-07-23T15:04:33Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/actix/actix-web/pulls/416","html_url":"https://github.com/actix/actix-web/pull/416","diff_url":"https://github.com/actix/actix-web/pull/416.diff","patch_url":"https://github.com/actix/actix-web/pull/416.patch"},"body":"This pull request adds an implementation of  `FromRequest<S>` for `Option<T>` and `Result<T>` where `T: FromRequest<S>`.\r\n\r\nIn case the `FromRequest<T>` extractor fails for any reason the `FromRequest<Option<T>>` returns `None`, the `FromRequest<Result<T>>` return the Error itself. They do not fail the request, so it is available and can be handled within the handler.\r\n\r\nThey can be useful for example when extracting `Authorization` / `Cookie` / `Session` / `Header` / `X` information that may or may not be present for the request.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/actix/actix-web/issues/comments/407090157","html_url":"https://github.com/actix/actix-web/pull/416#issuecomment-407090157","issue_url":"https://api.github.com/repos/actix/actix-web/issues/416","id":407090157,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNzA5MDE1Nw==","user":{"login":"codecov[bot]","id":22429695,"node_id":"MDM6Qm90MjI0Mjk2OTU=","avatar_url":"https://avatars2.githubusercontent.com/in/254?v=4","gravatar_id":"","url":"https://api.github.com/users/codecov%5Bbot%5D","html_url":"https://github.com/apps/codecov","followers_url":"https://api.github.com/users/codecov%5Bbot%5D/followers","following_url":"https://api.github.com/users/codecov%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/codecov%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/codecov%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/codecov%5Bbot%5D/repos","events_url":"https://api.github.com/users/codecov%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/codecov%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2018-07-23T15:04:33Z","updated_at":"2018-07-23T15:04:33Z","author_association":"NONE","body":"# [Codecov](https://codecov.io/gh/actix/actix-web/pull/416?src=pr&el=h1) Report\n> Merging [#416](https://codecov.io/gh/actix/actix-web/pull/416?src=pr&el=desc) into [master](https://codecov.io/gh/actix/actix-web/commit/f5347ec897d0ac66fa6d6cd6ed45b94495c1a358?src=pr&el=desc) will **increase** coverage by `0.02%`.\n> The diff coverage is `87.5%`.\n\n[![Impacted file tree graph](https://codecov.io/gh/actix/actix-web/pull/416/graphs/tree.svg?token=zeNInsA6hP&src=pr&width=650&height=150)](https://codecov.io/gh/actix/actix-web/pull/416?src=pr&el=tree)\n\n```diff\n@@            Coverage Diff             @@\n##           master     #416      +/-   ##\n==========================================\n+ Coverage   74.24%   74.26%   +0.02%     \n==========================================\n  Files         102      102              \n  Lines       16169    16209      +40     \n==========================================\n+ Hits        12005    12038      +33     \n- Misses       4164     4171       +7\n```\n\n\n| [Impacted Files](https://codecov.io/gh/actix/actix-web/pull/416?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [src/application.rs](https://codecov.io/gh/actix/actix-web/pull/416/diff?src=pr&el=tree#diff-c3JjL2FwcGxpY2F0aW9uLnJz) | `86.05% <ø> (ø)` | :arrow_up: |\n| [src/extractor.rs](https://codecov.io/gh/actix/actix-web/pull/416/diff?src=pr&el=tree#diff-c3JjL2V4dHJhY3Rvci5ycw==) | `80.16% <87.5%> (+1.48%)` | :arrow_up: |\n| [src/server/h2.rs](https://codecov.io/gh/actix/actix-web/pull/416/diff?src=pr&el=tree#diff-c3JjL3NlcnZlci9oMi5ycw==) | `51.5% <0%> (-1%)` | :arrow_down: |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/actix/actix-web/pull/416?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/actix/actix-web/pull/416?src=pr&el=footer). Last update [f5347ec...005bfe6](https://codecov.io/gh/actix/actix-web/pull/416?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n"}}
{"actor":{"display_login":"codecov"}}