Title: feat(http): implement streaming upload/download · Issue #2795 · angular/angular · GitHub
Open Graph Title: feat(http): implement streaming upload/download · Issue #2795 · angular/angular
X Title: feat(http): implement streaming upload/download · Issue #2795 · angular/angular
Description: A user should be able to provide observers as part of a Request or RequestOptions object in order to receive progress updates and chunks of data for uploading and downloading of data. Download observers will receive Responses, while uplo...
Open Graph Description: A user should be able to provide observers as part of a Request or RequestOptions object in order to receive progress updates and chunks of data for uploading and downloading of data. Download obse...
X Description: A user should be able to provide observers as part of a Request or RequestOptions object in order to receive progress updates and chunks of data for uploading and downloading of data. Download obse...
Opengraph URL: https://github.com/angular/angular/issues/2795
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"feat(http): implement streaming upload/download","articleBody":"A user should be able to provide observers as part of a `Request` or `RequestOptions` object in order to receive progress updates and chunks of data for uploading and downloading of data. \n\nDownload observers will receive `Responses`, while upload observers will receive some form of [Progress Event](https://developer.mozilla.org/en-US/docs/Web/API/ProgressEvent)\n\nTo support different semantics of subscriptions between RxJS Observables and Dart Streams, an `Observer` implementation should be provided which will translate nicely to both platforms.\n\n``` typescript\nvar myObserver = new Observer(res =\u003e this.progress = res.bytesLoaded / res.totalBytes);\nhttp.request('https://foo', {\n downloadObserver: myObserver,\n uploadObserver: null\n}).subscribe(res =\u003e this.finalResponse = res.json());\n```\n\nThe Response Observable returned from `Http` should still emit a single `Response` value and complete when the connection closes.\n\nIn order to perform the request without requiring a subscription on the `Response Observable` this feature would also require providing a means of specifying that the request should be executed immediately. This should be an additional property of `Request` and `RequestOptions`, name TBD.\n\nThese observers can be tested with the `MockBackend`, using methods called `mockUpload` and `mockDownload`.\n","author":{"url":"https://github.com/jeffbcross","@type":"Person","name":"jeffbcross"},"datePublished":"2015-06-30T22:35:27.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/2795/angular/issues/2795"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:4698587b-c9f7-063c-92c7-be59eda05770 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C7E2:3C303F:5B858D:7A089C:6A5FCE54 |
| html-safe-nonce | d353790defeaf82d722da24630c1392fd7829207438c92d3c00e3932acbf9ae9 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDN0UyOjNDMzAzRjo1Qjg1OEQ6N0EwODlDOjZBNUZDRTU0IiwidmlzaXRvcl9pZCI6Ijg0MTQzNTMzNDAzMDkwNDkxNyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 341f72c9502bc5b7b7a19c66274ea628ab1f26627f9a78193e45795628f0325b |
| hovercard-subject-tag | issue:92216591 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/angular/angular/2795/issue_layout |
| twitter:image | https://opengraph.githubassets.com/971e3c8794bc37a105efc922607b5a6d655684bd97bfada6c247952c235f6469/angular/angular/issues/2795 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/971e3c8794bc37a105efc922607b5a6d655684bd97bfada6c247952c235f6469/angular/angular/issues/2795 |
| og:image:alt | A user should be able to provide observers as part of a Request or RequestOptions object in order to receive progress updates and chunks of data for uploading and downloading of data. Download obse... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jeffbcross |
| hostname | github.com |
| expected-hostname | github.com |
| None | 53a28a7799cbf673993ab89fc44869fea4c4a6545a861a4d1445e83e8d03aabd |
| turbo-cache-control | no-preview |
| go-import | github.com/angular/angular git https://github.com/angular/angular.git |
| octolytics-dimension-user_id | 139426 |
| octolytics-dimension-user_login | angular |
| octolytics-dimension-repository_id | 24195339 |
| octolytics-dimension-repository_nwo | angular/angular |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 24195339 |
| octolytics-dimension-repository_network_root_nwo | angular/angular |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | dc08399f879d576f0edbb8c52a0a1a30d498b203 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width