- From: Glenn Adams <glenn@skynav.com>
- Date: Wed, 1 Aug 2012 11:57:05 -0600
- To: Florian Bösch <pyalot@gmail.com>
- Cc: Glenn Maynard <glenn@zewt.org>, Robin Berjon <robin@berjon.com>, WebApps WG <public-webapps@w3.org>, Jungkee Song <jungkee.song@samsung.com>
- Message-ID: <CACQ=j+fEiLurUA-GcjO3pXyjCzS=8mRQU5uHsUP_joZbRTrpUA@mail.gmail.com>
On Wed, Aug 1, 2012 at 11:13 AM, Florian Bösch <pyalot@gmail.com> wrote:
> On Wed, Aug 1, 2012 at 6:51 PM, Glenn Adams <glenn@skynav.com> wrote:
>
>> I'm questioning defining a "LazyBlob" that is solely usable with XHR. It
>> would be better to have a more generic version IMO.
>>
> Websockets have no content semantics, therefore any lazy content
> negotiating reader cannot deal with websockets unless an additional
> application layer protocol and implementation on the server side is
> introduced, something that does not exist for websockets otherwise. You
> could for instance implement HTTP over websockets to get the content
> semantics, and if your server gets a websocket request, it could be proxied
> to a domain socket which happend to have a webserver listening which would
> understand the HTTP request and deliver the resource/range.
>
> Now instead of implementing HTTP over websockets over HTTP over sockets,
> you could just use XHRs which implement HTTP over sockets. Which is why
> generalising lazy readers to websockets does not make sense.
>
Given the "Simple approach" suggested by DAR:
partial interface BlobBuilder {
> Blob getBlobFromURL (DOMString url);
> };
> Usage:
> var bb = new BlobBuilder()
> , blob = bb.getBlobFromURL("http://specifiction.com/kitten.png");
I don't see why the following isn't feasible:
blob = bb.getBlobFromURL("ws://specifiction.com/image/kitten.png<http://specifiction.com/kitten.png>
")
Or, given the "Using XHR for Options" approach:
partial interface BlobBuilder {
> Blob getBlobFromURL (XMLHttpRequest xhr);
> };
> Usage:
> var bb = new BlobBuilder()
> , xhr = new XMLHttpRequest();
> xhr.open("GET", "/kitten.png", true);
> xhr.setRequestHeader("Authorization", "Basic DEADBEEF");
> var blob = bb.getBlobFromURL(xhr);
why one couldn't have:
partial interface BlobBuilder {
Blob getBlobFromURL (WebSocket ws);
};
var bb = new BlobBuilder()
, ws = new WebSocket("ws://specifiction.com/image<http://specifiction.com/kitten.png>
");
ws.onopen = function(){ws.send("kitten.png");}
var blob = bb.getBlobFromURL(ws);
Received on Wednesday, 1 August 2012 17:57:53 UTC