[erlang-questions] Webmachine Binary Request Strings

Andrew Berman rexxe98@REDACTED
Mon Dec 19 22:34:35 CET 2011

Ah, yes, I agree we would need a SimpleBridgeBinary and then go the
opposite way if a web server doesn't support binary (binary_to_list).  I
don't think that would be too difficult to implement.  The Webmachine
decision core is the more difficult part   but not too difficult as it has
been implemented in many other languages which might make the decisioning a
bit easier to follow.

On Mon, Dec 19, 2011 at 1:27 PM, Loïc Hoguin <essen@REDACTED> wrote:

> SimpleBridge is nice, but it doesn't solve the OP's issue, which is that
> all the lists are being converted to binary when encoding into JSON, so he
> wants a binary webmachine to avoid converting from lists to binary all the
> time. I believe the implementation added to Cowboy recently does what the
> OP needs. On the other hand it's definitely tied to Cowboy and that should
> be taken into consideration when deciding what to use. It's also still
> considered experimental, although I've had good reports so far.
> Now if there was a SimpleBinaryBridge project it could be more suitable
> for his purpose, but afaik only Cowboy is full binary so far (only
> accepting (io)lists as output data). And of course adding Cowboy to
> SimpleBridge would just be a binary_to_list fest and would remove half the
> advantages of using that server so it's a bit of a dead end there.
> On 12/19/2011 10:16 PM, Andrew Berman wrote:
>> There was talk on one of the mailing lists about using something like
>> SimpleBridge (https://github.com/nitrogen/**simple_bridge<https://github.com/nitrogen/simple_bridge>)
>> so that the use
>> of a web server could be independent of Webmachine's logic, which IMO is
>> the best solution.  I don't think anyone did anything about it, but for
>> some reason, SimpleBridge has Webmachine support, which doesn't make
>> sense logically to me since Webmachine is a toolkit and not a web server.
>> I use Webmachine and love what it does for me, but the code seems overly
>> complicated with a heavy reliance on Mochiweb and uses parameterized
>> modules (an unsupported feature of Erlang), so I would actually be more
>> inclined to start a new project which is influenced by Webmachine but
>> corrects all the issues with it and makes it a bit more flexible and
>> modern (would love for Webmachine to support PATCH for example and
>> something like Socket.IO).  I'd be happy to help out with such a project
>> if anyone is interested in starting one.
>> --Andrew
>> On Mon, Dec 19, 2011 at 12:24 PM, Tristan Sloughter
>> <tristan.sloughter@REDACTED <mailto:tristan.sloughter@**gmail.com<tristan.sloughter@REDACTED>>>
>> wrote:
>>    Interesting. Sucks that webmachine is so tied to mochi and mochi so
>>    tied to lists, haha. But I'll give this a look.
>>    Tristan
>>    On Mon, Dec 19, 2011 at 1:50 PM, Magnus Klaar
>>    <magnus.klaar@REDACTED <mailto:magnus.klaar@REDACTED**>> wrote:
>>        Hi!
>>        Cowboy currently includes an experimental webmachine-like
>>        interface. The first commit of this module should explain some
>>        of the key differences from webmachine. If i remember the
>>        history of this module the intial estimate for the time needed
>>        to decouple webmachine from mochiweb _and_ refactor webmachine
>>        to support both binaries and lists everywhere was greater than
>>        the time needed to just add the difference between the two to
>>        cowboy.
>>        https://github.com/extend/**cowboy/commit/**
>> aab1587a4b3d8f0c3d92a208322752**7d51109980<https://github.com/extend/cowboy/commit/aab1587a4b3d8f0c3d92a2083227527d51109980>
>>        If you're interested in a
>>        MVH Magnus
>>        On Mon, Dec 19, 2011 at 6:40 PM, Tristan Sloughter
>>        <tristan.sloughter@REDACTED
>>        <mailto:tristan.sloughter@**gmail.com<tristan.sloughter@REDACTED>>>
>> wrote:
>>            This may be better on a Webmachine questions list. But I
>>            thought I'd ask here first since it may be that someone
>>            working on one of the other Erlang web servers, besides
>>            Mochiweb, has worked on moving Webmachine to use that server.
>>            The reason I say that is, Webmachine currently relies on
>>            Mochiweb which passes lists instead of binary strings for
>>            requests. While the req_body of a request is given as a
>>            binary the path_info and query string is dealt with as
>>            lists. While I would think there could be a performance hit
>>            due to this my main reason to ask for alternatives is that
>>            dealing with JSON representations on the backend require
>>            converting the lists to binaries for processing every time.
>>            There has been https://github.com/mochi/**mochiweb/pull/38<https://github.com/mochi/mochiweb/pull/38>but
>>            its clear at the end of the discussion its not a change that
>>            will be happening to mochiweb anytime soon.
>>            So is there work on Webmachine backed by Cowboy or another
>>            Erlang web server?
>>            Thanks,
>>            Tristan
>>            ______________________________**_________________
>>            erlang-questions mailing list
>>            erlang-questions@REDACTED <mailto:erlang-questions@**
>> erlang.org <erlang-questions@REDACTED>>
>>            http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>>    ______________________________**_________________
>>    erlang-questions mailing list
>>    erlang-questions@REDACTED <mailto:erlang-questions@**erlang.org<erlang-questions@REDACTED>
>> >
>>    http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>> ______________________________**_________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
> --
> Loďc Hoguin
> Dev:Extend
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111219/7cd7293d/attachment.htm>

More information about the erlang-questions mailing list