Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // A simple, incomplete implementation of Fetch, intended to facilitate end | |
| 6 // to end serviceworker testing. | |
| 7 | |
| 8 // See http://fetch.spec.whatwg.org/#fetch-method | |
| 9 | |
| 10 (function (global) { | |
| 11 var _castToRequest = function (item) { | |
|
falken
2014/06/06 17:29:03
No space after "function"
| |
| 12 if (typeof item === 'string') { | |
| 13 item = new Request({ | |
| 14 url: item | |
| 15 }); | |
| 16 } | |
| 17 return item; | |
| 18 }; | |
| 19 | |
| 20 // FIXME: Support init argument to fetch. | |
| 21 var fetch = function(request) { | |
| 22 request = _castToRequest(request); | |
| 23 | |
| 24 return new Promise(function(resolve, reject) { | |
| 25 // FIXME: Use extra headers from |request|. | |
| 26 var xhr = new XMLHttpRequest(); | |
| 27 xhr.open(request.method, request.url, true /* async */); | |
| 28 xhr.send(null); | |
| 29 xhr.onreadystatechange = function() { | |
| 30 if (xhr.readyState !== 4) return; | |
| 31 | |
| 32 var response = new Response({ | |
|
falken
2014/06/06 17:29:03
The Response ctor changed in https://codereview.ch
horo
2014/06/09 05:25:12
I noticed that passing a blob created by XMLHttpRe
| |
| 33 status: xhr.status, | |
| 34 statusText: xhr.statusText, | |
| 35 // FIXME: Set response.headers. | |
| 36 // FIXME: Set response.method when available. | |
| 37 // FIXME: Set response.url when available. | |
| 38 // FIXME: Set response.body when available. | |
| 39 }); | |
| 40 | |
| 41 if (xhr.status === 200) { | |
| 42 resolve(response); | |
| 43 } else { | |
| 44 reject(response); | |
| 45 } | |
| 46 }; | |
| 47 }); | |
| 48 }; | |
| 49 | |
| 50 global.fetch = global.fetch || fetch; | |
| 51 }(self)); // window or worker global scope | |
| OLD | NEW |