summaryrefslogblamecommitdiffstats
path: root/archives/extend/2015-January/000507.html
blob: a16a39c261d486db1502cfd98e83cf0dc56a41a1 (plain) (tree)



































































































                                                                                                                                                                          
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
 <HEAD>
   <TITLE> [99s-extend] Rewriting URLs
   </TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422366254.30127.15.camel%40gmail.com%3E">
   <META NAME="robots" CONTENT="index,nofollow">
   <style type="text/css">
       pre {
           white-space: pre-wrap;       /* css-2.1, curent FF, Opera, Safari */
           }
   </style>
   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
   <LINK REL="Previous"  HREF="000506.html">
   <LINK REL="Next"  HREF="000508.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[99s-extend] Rewriting URLs</H1>
    <B>Paul Dickson</B> 
    <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422366254.30127.15.camel%40gmail.com%3E"
       TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
       </A><BR>
    <I>Tue Jan 27 14:44:14 CET 2015</I>
    <P><UL>
        <LI>Previous message: <A HREF="000506.html">[99s-extend] Rewriting URLs
</A></li>
        <LI>Next message: <A HREF="000508.html">[99s-extend] Rewriting URLs
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#507">[ date ]</a>
              <a href="thread.html#507">[ thread ]</a>
              <a href="subject.html#507">[ subject ]</a>
              <a href="author.html#507">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>Ok, here is all the code in bz_libmap.erl

execute(Req, Env) -&gt;
    Path = cowboy_req:path(Req),
    Parts = filename:split(Path),

    case cowboy_req:method(Req) of
      &lt;&lt;&quot;GET&quot;&gt;&gt; -&gt;
         % Check for &quot;/music/&quot; requests
         rewrite( Parts, Req, Env );
      _Other -&gt;
         {ok, Req, Env}
    end.

rewrite( [&lt;&lt;&quot;/&quot;&gt;&gt;, &lt;&lt;&quot;music&quot;&gt;&gt;, LibName | UrlParts], Req, Env ) -&gt;
    % We want URLs of the form &quot;/music/LIBNAME/everythingelse&quot;
    % Get library definition.  If we do not know that name, then they
    % are asking for something that does not exist.
    case bz_db:get_library( LibName ) of
      [] -&gt;
         io:format(&quot;No such library '~s'~n&quot;, [LibName] ),
         {stop, cowboy_req:reply(404, Req)};

      L when is_record(L,library) -&gt;
          % Replace the library name with the library base.
          % This will be the head of an absolute file path.
          LibBase = L#library.base,
          NewPath = filename:join([LibBase | UrlParts]),
          NewInfo = filename:split(NewPath),
          Req2 = cowboy_req:set( [
            {path_info,[NewPath]},
            {path, [NewPath]}], Req),
          {ok, Req2, Env}
    end;
rewrite( _AnythingElse, Req, Env ) -&gt;
    {ok, Req, Env}.



</PRE>


<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI>Previous message: <A HREF="000506.html">[99s-extend] Rewriting URLs
</A></li>
	<LI>Next message: <A HREF="000508.html">[99s-extend] Rewriting URLs
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#507">[ date ]</a>
              <a href="thread.html#507">[ thread ]</a>
              <a href="subject.html#507">[ subject ]</a>
              <a href="author.html#507">[ author ]</a>
         </LI>
       </UL>

<hr>
<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
mailing list</a><br>
</body></html>