From: JD B. <jb...@gm...> - 2013-06-27 22:13:16
|
Is this kind of thing considered supported use of #sconf{} in yaws embedded? redirect_map = [{"/p/b", #url{host="bob.com",path="/"}, noappend} I basically want a list of redirects to a different site and they're quite irregular so writing an appmod feels silly when yaws would support this easily in a config file (and with a glance at the sconf record definition :) JD |
From: Christopher F. <chr...@ca...> - 2013-06-28 07:15:39
Attachments:
signature.asc
|
On 28/06/2013 00:13, JD Bothma wrote: > Is this kind of thing considered supported use of #sconf{} in yaws embedded? > > redirect_map = [{"/p/b", #url{host="bob.com <http://bob.com>",path="/"}, > noappend} > > I basically want a list of redirects to a different site and they're > quite irregular so writing an appmod feels silly when yaws would support > this easily in a config file (and with a glance at the sconf record > definition :) > Hi, Yes, you can setup redirect_map when Yaws is embedded. The redirect syntax has changed in Yaws 1.96. Now, you can set the HTTP status code used in redirect rules (302 by default). So the format for the redirect_map list in #sconf{} is: [{Path, HTTPCode, UrlOrPath, Mode}] where Path := string() %% a relative path HTTPCode := integer() %% between 100 and 599 UrlOrPath := #url{} | Path | undefined Mode := append | noappend For 3xx status codes, UrlOrPath must be a #url{}. For other status codes, it must be a relative path or undefined. Here is an example: RMap = [{"/p/b", 302, #url{host="bob.com",path="/"}, noappend}]. SL = [{listen, "127.0.0.1"}, {port, 8000}, {redirect_map, RMap}]. yaws_api:embedded_start_conf("/tmp", SL). See yaws.conf manpage for details about redirect mapping. -- Christopher |
From: JD B. <jb...@gm...> - 2013-07-15 13:30:11
|
Thanks. I'm on 1.95 and this is working very nicely. JD On 28 June 2013 09:15, Christopher Faulet <chr...@ca...>wrote: > On 28/06/2013 00:13, JD Bothma wrote: > > Is this kind of thing considered supported use of #sconf{} in yaws > embedded? > > > > redirect_map = [{"/p/b", #url{host="bob.com <http://bob.com>",path="/"}, > > noappend} > > > > I basically want a list of redirects to a different site and they're > > quite irregular so writing an appmod feels silly when yaws would support > > this easily in a config file (and with a glance at the sconf record > > definition :) > > > > Hi, > > Yes, you can setup redirect_map when Yaws is embedded. The redirect > syntax has changed in Yaws 1.96. Now, you can set the HTTP status code > used in redirect rules (302 by default). So the format for the > redirect_map list in #sconf{} is: > > [{Path, HTTPCode, UrlOrPath, Mode}] where > > Path := string() %% a relative path > HTTPCode := integer() %% between 100 and 599 > UrlOrPath := #url{} | Path | undefined > Mode := append | noappend > > For 3xx status codes, UrlOrPath must be a #url{}. For other status > codes, it must be a relative path or undefined. Here is an example: > > RMap = [{"/p/b", 302, #url{host="bob.com",path="/"}, noappend}]. > SL = [{listen, "127.0.0.1"}, {port, 8000}, {redirect_map, RMap}]. > yaws_api:embedded_start_conf("/tmp", SL). > > See yaws.conf manpage for details about redirect mapping. > -- > Christopher > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Erlyaws-list mailing list > Erl...@li... > https://lists.sourceforge.net/lists/listinfo/erlyaws-list > > |