[99s-extend] Help to use frameset in index.html
Robert Balogh
ethrbh at gmail.com
Tue Jun 23 11:11:42 CEST 2015
hello,
Thanks for all. The solution is to put the line at last
{"/[...]", cowboy_static, {priv_dir, websocket_2, ""}}
Now It works as I expect.
thanks for your help again.
br,
/Robi
2015-06-23 11:09 GMT+02:00 Loïc Hoguin <essen at ninenines.eu>:
> Oh nice catch ahah. We should probably warn when something like this
> happens.
>
> On 06/23/2015 11:06 AM, Graham Hay wrote:
>
>> I think the order of your routes is the problem, try putting this line
>> <
>> https://github.com/ethrbh/websocket_2/blob/master/src/websocket_2_app.erl#L17
>> >
>> last.
>>
>> On 23 June 2015 at 09:56, Loïc Hoguin <essen at ninenines.eu
>> <mailto:essen at ninenines.eu>> wrote:
>>
>> The {error, enoent}, especially there, is probably just because the
>> browser is trying to fetch the favicon.
>>
>> Your issue is that Websocket won't connect, so it has nothing to do
>> with cowboy_rest. Try tracing cowboy_websocket or enable SASL to
>> have more info.
>>
>>
>> On 06/23/2015 10:28 AM, Robert Balogh wrote:
>>
>> hello,
>>
>> First of all I would say I am a beginner in Cowboy web server, so
>> probably I made something wrong, that is why I got the "fault",
>> what I got.
>>
>> I would like to build up web page, where the client can
>> communicate to
>> server, and server can do the same to client, if client does not
>> send
>> anything to server too. The Cowboy has the websocket example,
>> what does
>> what I would like to do.
>>
>> There is only one thing is missing what I would like to have.
>> This is
>> the "frameset". My idea is to build the index.html using
>> framsets. I
>> made this changes, and I build up the html files for the frames,
>> and of
>> course I set these in the index.html.
>>
>> Here is how the index.html looks like
>> <html>
>>
>> <head>
>> <title>Welcome to Websocket example 2</title>
>> </head>
>>
>> <frameset rows="64,*">
>> <frame name="top_frame" noresize="noresize"
>> scrolling="no"
>> src="frame_top.html">
>> <frameset cols="450,*">
>> <frame name="left_frame" scrolling="auto"
>> src="frame_left.html">
>> <frame name="right_frame" src="frame_right.html">
>> </frameset>
>> <noframes>
>> <body>
>>
>> </body>
>> </noframes>
>> </frameset>
>>
>> </html>
>>
>> This is how the priv folder looks like
>> -----------------------------------------------------------
>> ls priv/
>> frame_left.html frame_right.html frame_top.html
>> index.html static
>>
>> This is how I changed the websocket_2_app:start/2 function
>> -----------------------------------------------------------
>> Dispatch = cowboy_router:compile([
>> {'_', [
>>
>> {"/", cowboy_static, {priv_file, websocket_2,
>> "index.html"}},
>> {"/[...]", cowboy_static, {priv_dir, websocket_2,
>> ""}},
>>
>> {"/websocket_2", ws_handler_2, []},
>> {"/static/[...]", cowboy_static, {priv_dir,
>> websocket_2,
>> "static"}}
>> ]}
>> ]),
>>
>> After compile and make release package of the app, I can reach the
>> webserver on the port 8080, but some connection does not set up
>> correctly. The following texts are present in the browser
>> DISCONNECTED
>>
>> ERROR: undefined
>>
>> Connecting to: ws://localhost:8080/websocket_2
>>
>> I made a dbg trace on all cowboy modules, to start some kind of
>> troubleshooting. In the "tons" of printout I can see this one.
>> So in the
>> bottom of this, there is an {error,enoent}. It comes when tries
>> connect
>> to the socket. But unfortunatelly I do not have idea what may
>> cause this :-(
>>
>> The part of trace
>> -----------------------------------------------------------
>> (<0.177.0>) call
>>
>> cowboy_rest:next({http_req,#Port<0.646>,ranch_tcp,keepalive,<0.177.0>,<<"GET">>,'HTTP/1.1',
>> {{127,0,0,1},33241},
>> <<"localhost">>,undefined,8080,<<"/websocket_2">>,
>> [<<"websocket_2">>],
>> <<>>,undefined,[],
>> [{<<"host">>,<<"localhost:8080">>},
>> {<<"connection">>,<<"Upgrade">>},
>> {<<"pragma">>,<<"no-cache">>},
>> {<<"cache-control">>,<<"no-cache">>},
>> {<<"upgrade">>,<<"websocket">>},
>> {<<"origin">>,<<"http://localhost:8080">>},
>> {<<"sec-websocket-version">>,<<"13">>},
>> {<<"user-agent">>,
>> <<"Mozilla/5.0 (X11; Linux i686)
>> AppleWebKit/537.36
>> (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36">>},
>> {<<"accept-encoding">>,<<"gzip, deflate,
>> sdch">>},
>> {<<"accept-language">>,<<"en-US,en;q=0.8">>},
>>
>> {<<"sec-websocket-key">>,<<"by/gwaQvb/51W7Wa9zrGQg==">>},
>> {<<"sec-websocket-extensions">>,
>> <<"permessage-deflate;
>> client_max_window_bits">>}],
>> [{<<"connection">>,[<<"upgrade">>]}],
>>
>>
>> undefined,[],waiting,<<>>,undefined,false,waiting,[],<<>>,undefined},{state,[{handler,cowboy_static},
>> {handler_opts,{priv_dir,websocket_2,[]}},
>> {listener,http},
>> {dispatch,[{'_',[],
>> [{[],[],cowboy_static,
>>
>> {priv_file,websocket_2,"index.html"}},
>>
>> {['...'],[],cowboy_static,{priv_dir,websocket_2,[]}},
>>
>> {[<<"websocket_2">>],[],ws_handler_2,[]},
>> {[<<"static">>,'...'],
>> [],cowboy_static,
>>
>> {priv_dir,websocket_2,"static"}}]}]}],
>> <<"GET">>,cowboy_static,
>>
>>
>> {<<"/home/ethrbh/projects/github/websocket_2/_rel/websocket_2/lib/websocket_2-1/priv/websocket_2">>,
>> {error,enoent},
>> []},
>>
>> undefined,[],undefined,[],undefined,[],undefined,false,undefined,
>> undefined,undefined},#Fun<cowboy_rest.2.41839999>)
>> (Timestamp: {1435,
>>
>> 46126,
>>
>> 935663})
>>
>> I guess, I did something very wrong, but I did not found what is
>> that,
>> thus I would like to get some help from you.
>>
>> Please find my small project in github:
>> https://github.com/ethrbh/websocket_2
>>
>> thanks for your help,
>> /Robi
>>
>>
>>
>> _______________________________________________
>> Extend mailing list
>> Extend at lists.ninenines.eu <mailto:Extend at lists.ninenines.eu>
>> https://lists.ninenines.eu/listinfo/extend
>>
>>
>> --
>> Loïc Hoguin
>> http://ninenines.eu
>> Author of The Erlanger Playbook,
>> A book about software development using Erlang
>> _______________________________________________
>> Extend mailing list
>> Extend at lists.ninenines.eu <mailto:Extend at lists.ninenines.eu>
>> https://lists.ninenines.eu/listinfo/extend
>>
>>
>>
> --
> Loïc Hoguin
> http://ninenines.eu
> Author of The Erlanger Playbook,
> A book about software development using Erlang
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ninenines.eu/archives/extend/attachments/20150623/fcdb2d7b/attachment.html>
More information about the Extend
mailing list