Re: POE HTTP server with WebSocket channel

Guido Brugnara <[email protected]> Sat, 14 Dec 2013 09:12:34 +0100
Newsgroups gmane.comp.lang.perl.poe
Organization LEADER.IT
Message-ID <[email protected]>
--------------010707070203050502080904
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Il 13/12/2013 10:24, Nick Perez ha scritto:
> Hey Guido,
>
> I am the author of those modules. And yeah, they are broken and
> experimental. I was attempting to create an unholy amalgamation of
> MooseX::Declare and POE. It was an abomination that needed to be killed
> with fire. I should make sure I clean up those modules.
>
> That said, I had started hacking on a replacement stack on top of
> Reflex, but lost interest. You're welcome to pick it up and finish it
> if that is your cup of tea.
>
> http://nickandperla.net/gitweb/?p=reflexive-role-psgiserver.git

The server is not responding.

>
> It is based on top of Reflexive::Role::TCPServer
>
> https://metacpan.org/pod/Reflexive::Role::TCPServer

I don't hide my limit to understand Refrex and derivatives, probably 
because it does not use Moose but only in few occasions, without looking 
under the hood.
I was hoping to avoid the use of modeling alternatives to POE, but if I 
have no choice, I will assess this alternative also.

> If you have any questions, feel free to give me a shout on
> irc.perl.org/#poe or #reflex
>
> You can also contact me via XMPP at this same address.

thank you very much
Guido

>
> On Thu, 12 Dec 2013 09:23:54 +0100
> Guido Brugnara <[email protected]> wrote:
>
>> Il 12/12/2013 08:33, Konstantin Yakunin ha scritto:
>>> Hello,
>>>
>>> Try Plack::Builder
>>>
>>> use Plack::Builder;
>>>
>>> builder {
>>>
>>> }
>>>
>> I like! Thanks.
>>
>> I tried to install POEx-Role-PSGIServer from CPAN but points out the
>> lack of the package POEx-Role-SessionInstantiation [1]
>> Here ( https://rt.cpan.org/Public/Bug/Display.html?id=69745 ) the
>> author of [1] warns you deleted the package from CPAN because it is
>> no longer compatible with the latest versions of Moose :-(
>> So, The POEx-... packages are all considered experimental/broken?
>> What could I use as a PSGI server, along with POE in a single task?
>> ____
>> gdo
>>
>>>
>>> 2013/12/11 Guido Brugnara <[email protected] <mailto:[email protected]>>
>>>
>>>      ===CUT===
>>>      The target is to listen on the same port:
>>> http://myapp:8000/..... and for websocket ws://myapp:8000/ws
>>>
>>>      I tried to use Protocol::WebSocket with the TCP socket used by
>>>      PoCo::Server::HTTP but my work is stalled.
>>>
>>>      I saw on CPAN that would be available the following packages :
>>>
>>>      POEx::Role::PSGIServer - Encapsulates core PSGI server behaviors
>>>      ===CUT===
>>>
>>>
>
>


--------------010707070203050502080904
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Il 13/12/2013 10:24, Nick Perez ha
      scritto:<br>
    </div>
    <blockquote cite="mid:[email protected]"
      type="cite">
      <pre wrap="">Hey Guido,

I am the author of those modules. And yeah, they are broken and
experimental. I was attempting to create an unholy amalgamation of
MooseX::Declare and POE. It was an abomination that needed to be killed
with fire. I should make sure I clean up those modules. 

That said, I had started hacking on a replacement stack on top of
Reflex, but lost interest. You're welcome to pick it up and finish it
if that is your cup of tea.

<a class="moz-txt-link-freetext" href="http://nickandperla.net/gitweb/?p=reflexive-role-psgiserver.git">http://nickandperla.net/gitweb/?p=reflexive-role-psgiserver.git</a></pre>
    </blockquote>
    <br>
    <div id="gt-src-c" class="g-unit">
      <div id="gt-src-p">
        <div class="" id="gt-src-wrap">
          <div id="gt-src-tools">
            <div id="gt-src-tools-l">
              <div style="display: inline-block;" id="gt-input-tool">
                <div id="itamenu"><span class="ita-kd-inputtools-div"></span></div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id="gt-res-c" class="g-unit">
      <div id="gt-res-p">
        <div id="gt-res-data">
          <div id="gt-res-wrap">
            <div id="gt-res-content" class="almost_half_cell">
              <div dir="ltr" style="zoom:1">
                <div id="tts_button" style="" class=""><object
                    type="application/x-shockwave-flash"
                    data="//ssl.gstatic.com/translate/sound_player2.swf"
                    id="tts" height="18" width="18"></object></div>
                <span id="result_box" class="short_text" lang="en"><span
                    class="hps">The</span> <span class="hps">server is
                    not responding.</span></span></div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <br>
    <blockquote cite="mid:[email protected]"
      type="cite">
      <pre wrap="">

It is based on top of Reflexive::Role::TCPServer

<a class="moz-txt-link-freetext" href="https://metacpan.org/pod/Reflexive::Role::TCPServer">https://metacpan.org/pod/Reflexive::Role::TCPServer</a>
</pre>
    </blockquote>
    <br>
    <span id="result_box" class="" lang="en"><span class="hps">I don't
        hide</span> <span class="hps">my limit to</span> <span
        class="hps">understand&nbsp;</span><span class="hps">Refrex</span> <span
        class="hps">and derivatives,</span> <span class="hps">probably</span>
      <span class="hps">because it does not</span> <span class="hps">use</span>
      <span class="hps">Moose</span></span> but only in few occasions, <span
      id="result_box" class="" lang="en"><span class="hps"></span><span
        class=""></span></span><span id="result_box" class="" lang="en"><span
        class="hps"></span><span class=""></span></span><span
      id="result_box" class="short_text" lang="en"><span class="hps">without
        looking</span> <span class="hps">under the hood</span></span>.<br>
    <span id="result_box" class="" lang="en"><span class="hps">I was
        hoping to</span> <span class="hps">avoid the use of</span> <span
        class="hps">modeling</span> <span class="hps">alternatives</span>
      <span class="hps">to POE, </span><span class=""></span></span><span
      id="result_box" class="" lang="en"><span class=""><span
          id="result_box" class="" lang="en"><span class="hps">but if</span>
          <span class="hps">I have no choice</span><span class="">, I
            will assess</span> <span class="hps">this alternative</span>
          <span class="hps">also</span><span class="">.</span></span><br>
        <br>
      </span></span>
    <blockquote cite="mid:[email protected]"
      type="cite">
      <pre wrap="">
If you have any questions, feel free to give me a shout on
irc.perl.org/#poe or #reflex

You can also contact me via XMPP at this same address.
</pre>
    </blockquote>
    <span id="result_box" class="short_text" lang="en"><span class="hps"><br>
        thank you very much<br>
        Guido<br>
        <br>
      </span></span>
    <blockquote cite="mid:[email protected]"
      type="cite">
      <pre wrap="">

On Thu, 12 Dec 2013 09:23:54 +0100
Guido Brugnara <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a> wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">Il 12/12/2013 08:33, Konstantin Yakunin ha scritto:
</pre>
        <blockquote type="cite">
          <pre wrap="">Hello,

Try Plack::Builder

use Plack::Builder;

builder {

}

</pre>
        </blockquote>
        <pre wrap="">
I like! Thanks.

I tried to install POEx-Role-PSGIServer from CPAN but points out the 
lack of the package POEx-Role-SessionInstantiation [1]
Here ( <a class="moz-txt-link-freetext" href="https://rt.cpan.org/Public/Bug/Display.html?id=69745">https://rt.cpan.org/Public/Bug/Display.html?id=69745</a> ) the
author of [1] warns you deleted the package from CPAN because it is
no longer compatible with the latest versions of Moose :-(
So, The POEx-... packages are all considered experimental/broken?
What could I use as a PSGI server, along with POE in a single task?
____
gdo

</pre>
        <blockquote type="cite">
          <pre wrap="">

2013/12/11 Guido Brugnara &lt;<a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a> <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;mailto:[email protected]&gt;</a>&gt;

    ===CUT===
    The target is to listen on the same port:
<a class="moz-txt-link-freetext" href="http://myapp:8000/">http://myapp:8000/</a>..... and for websocket <a class="moz-txt-link-freetext" href="ws://myapp:8000/ws">ws://myapp:8000/ws</a>

    I tried to use Protocol::WebSocket with the TCP socket used by
    PoCo::Server::HTTP but my work is stalled.

    I saw on CPAN that would be available the following packages :

    POEx::Role::PSGIServer - Encapsulates core PSGI server behaviors
    ===CUT===


</pre>
        </blockquote>
        <pre wrap="">
</pre>
      </blockquote>
      <pre wrap="">


</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------010707070203050502080904--