From: Hank K. <hkn...@gm...> - 2010-02-15 02:08:27
|
Thanks, I tried your code but still can't get it to work. Is there no easy way with YAWS to get the "User-Agent" for a request? On Sun, Feb 14, 2010 at 9:34 PM, wde <wd...@fr...> wrote: > hi, > > you can parse the list (Arg#arg.headers)#headers.other > > I use something like that : > > find_http_header(Key,Headers) when is_list(Headers) -> > case lists:keysearch(Key,3,Headers) of > {value,{_,_,_,_,Value}} -> Value; > false -> undefined > end. > > > > > > > > > >>How can I get the User-Agent, Accept-Language, and Host from the >>headers sent with a request? >> >>My code below places these items in a list but I want to separate them out. >> >>Thanks for the help! >> >>- Hank >> >>---------------- >> >><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> >><html xmlns="http://www.w3.org/1999/xhtml"> >><head> >><title>Title</title> >></head> >><body> >> >><h1> Details about the Request </h1> >> >><blockquote style="border: 1px solid red; margin: 10px"> >> >><erl> >>out(A) -> >>Req = A#arg.req, >>H = yaws_api:reformat_header(A#arg.headers), >>{ehtml, >>[{h2,[], "The headers passed to us were:"}, >>{hr}, >>{ol, [],lists:map(fun(S) -> {li,[], {p,[],S}} end,H)}, >>{hr}, >>{h2, [], "Request Method"}, >>{pre,[], f("~s", [Req#http_request.method])}, >> >>{h2, [], "User-Agent"}, >>{pre,[], "??? (Should be something like Mozilla/5.0)"}, >>{h2, [], "Accept-Language"}, >>{pre,[], "??? (Should be something like en-us,en,en-uk)"}, >>{h2, [], "Host"}, >>{pre,[], "??? (Should be something like example.com)"}, >> >>{hr}, >>{h2, [], "Path"}, >>{pre,[], f("~p", [Req#http_request.path])}, >>{hr}, >>{h2, [], "IP Address"}, >>{pre,[], f("~p", [inet:peername(A#arg.clisock)])}, >>{hr}, >>{h2, [], "Parsed GET Query Data"}, >>{pre,[], f("~p", [yaws_api:parse_query(A)])}, >>{hr}, >>{h2,[], "Parsed POST Query data "}, >>{pre,[], f("~p", [yaws_api:parse_post(A)])}]}. >></erl> >></blockquote> >> >></body> >></html> >> >>------------------------------------------------------------------------------ >>SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, >>Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW >>http://p.sf.net/sfu/solaris-dev2dev >>_______________________________________________ >>Erlyaws-list mailing list >>Erl...@li... >>https://lists.sourceforge.net/lists/listinfo/erlyaws-list >> > > > |