diff options
Diffstat (limited to 'html/http-server.mu.html')
-rw-r--r-- | html/http-server.mu.html | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/html/http-server.mu.html b/html/http-server.mu.html index ae87b99e..27b56980 100644 --- a/html/http-server.mu.html +++ b/html/http-server.mu.html @@ -53,34 +53,34 @@ if ('onhashchange' in window) { </head> <body onload='JumpToLine();'> <pre id='vimCodeElement'> -<a name="L1"></a><span id="L1" class="LineNr"> 1 </span><span class="Comment"># example program: a single-request HTTP server</span> -<a name="L2"></a><span id="L2" class="LineNr"> 2 </span><span class="Comment"># listen for connections from clients on a server socket</span> -<a name="L3"></a><span id="L3" class="LineNr"> 3 </span><span class="Comment"># when a connection occurs, transfer it to a session socket</span> -<a name="L4"></a><span id="L4" class="LineNr"> 4 </span><span class="Comment"># read from it using channels</span> -<a name="L5"></a><span id="L5" class="LineNr"> 5 </span><span class="Comment"># write to it directly</span> -<a name="L6"></a><span id="L6" class="LineNr"> 6 </span><span class="Comment">#</span> -<a name="L7"></a><span id="L7" class="LineNr"> 7 </span><span class="Comment"># After running it, navigate to localhost:8080. Your browser should display</span> -<a name="L8"></a><span id="L8" class="LineNr"> 8 </span><span class="Comment"># "SUCCESS!" and the server will terminate after one connection.</span> -<a name="L9"></a><span id="L9" class="LineNr"> 9 </span> -<a name="L10"></a><span id="L10" class="LineNr">10 </span><span class="muRecipe">def</span> main [ -<a name="L11"></a><span id="L11" class="LineNr">11 </span> <span class="Constant">local-scope</span> -<a name="L12"></a><span id="L12" class="LineNr">12 </span> socket:num <span class="Special"><-</span> $open-server-socket <span class="Constant">8080/port</span> -<a name="L13"></a><span id="L13" class="LineNr">13 </span> $print <span class="Constant">[Mu socket creation returned ]</span>, socket, <span class="Constant">10/newline</span> -<a name="L14"></a><span id="L14" class="LineNr">14 </span> <span class="muControl">return-unless</span> socket -<a name="L15"></a><span id="L15" class="LineNr">15 </span> session:num <span class="Special"><-</span> $accept socket -<a name="L16"></a><span id="L16" class="LineNr">16 </span> contents:&:source:char, sink:&:sink:char <span class="Special"><-</span> new-channel<span class="Constant"> 30</span> -<a name="L17"></a><span id="L17" class="LineNr">17 </span> sink <span class="Special"><-</span> start-running receive-from-socket session, sink -<a name="L18"></a><span id="L18" class="LineNr">18 </span> query:text <span class="Special"><-</span> drain contents -<a name="L19"></a><span id="L19" class="LineNr">19 </span> $print <span class="Constant">[Done reading from socket.]</span>, <span class="Constant">10/newline</span> -<a name="L20"></a><span id="L20" class="LineNr">20 </span> write-to-socket session, <span class="Constant">[HTTP/1.0 200 OK</span> -<a name="L21"></a><span id="L21" class="LineNr">21 </span><span class="Constant">Content-type: text/plain</span> -<a name="L22"></a><span id="L22" class="LineNr">22 </span> -<a name="L23"></a><span id="L23" class="LineNr">23 </span><span class="Constant">SUCCESS!</span> -<a name="L24"></a><span id="L24" class="LineNr">24 </span><span class="Constant">]</span> -<a name="L25"></a><span id="L25" class="LineNr">25 </span> $print <span class="Constant">10/newline</span>, <span class="Constant">[Wrote to and closing socket...]</span>, <span class="Constant">10/newline</span> -<a name="L26"></a><span id="L26" class="LineNr">26 </span> session <span class="Special"><-</span> $close-socket session -<a name="L27"></a><span id="L27" class="LineNr">27 </span> socket <span class="Special"><-</span> $close-socket socket -<a name="L28"></a><span id="L28" class="LineNr">28 </span>] +<span id="L1" class="LineNr"> 1 </span><span class="Comment"># example program: a single-request HTTP server</span> +<span id="L2" class="LineNr"> 2 </span><span class="Comment"># listen for connections from clients on a server socket</span> +<span id="L3" class="LineNr"> 3 </span><span class="Comment"># when a connection occurs, transfer it to a session socket</span> +<span id="L4" class="LineNr"> 4 </span><span class="Comment"># read from it using channels</span> +<span id="L5" class="LineNr"> 5 </span><span class="Comment"># write to it directly</span> +<span id="L6" class="LineNr"> 6 </span><span class="Comment">#</span> +<span id="L7" class="LineNr"> 7 </span><span class="Comment"># After running it, navigate to localhost:8080. Your browser should display</span> +<span id="L8" class="LineNr"> 8 </span><span class="Comment"># "SUCCESS!" and the server will terminate after one connection.</span> +<span id="L9" class="LineNr"> 9 </span> +<span id="L10" class="LineNr">10 </span><span class="muRecipe">def</span> main [ +<span id="L11" class="LineNr">11 </span> <span class="Constant">local-scope</span> +<span id="L12" class="LineNr">12 </span> socket:num <span class="Special"><-</span> $open-server-socket <span class="Constant">8080/port</span> +<span id="L13" class="LineNr">13 </span> $print <span class="Constant">[Mu socket creation returned ]</span>, socket, <span class="Constant">10/newline</span> +<span id="L14" class="LineNr">14 </span> <span class="muControl">return-unless</span> socket +<span id="L15" class="LineNr">15 </span> session:num <span class="Special"><-</span> $accept socket +<span id="L16" class="LineNr">16 </span> contents:&:source:char, sink:&:sink:char <span class="Special"><-</span> new-channel<span class="Constant"> 30</span> +<span id="L17" class="LineNr">17 </span> sink <span class="Special"><-</span> start-running receive-from-socket session, sink +<span id="L18" class="LineNr">18 </span> query:text <span class="Special"><-</span> drain contents +<span id="L19" class="LineNr">19 </span> $print <span class="Constant">[Done reading from socket.]</span>, <span class="Constant">10/newline</span> +<span id="L20" class="LineNr">20 </span> write-to-socket session, <span class="Constant">[HTTP/1.0 200 OK</span> +<span id="L21" class="LineNr">21 </span><span class="Constant">Content-type: text/plain</span> +<span id="L22" class="LineNr">22 </span> +<span id="L23" class="LineNr">23 </span><span class="Constant">SUCCESS!</span> +<span id="L24" class="LineNr">24 </span><span class="Constant">]</span> +<span id="L25" class="LineNr">25 </span> $print <span class="Constant">10/newline</span>, <span class="Constant">[Wrote to and closing socket...]</span>, <span class="Constant">10/newline</span> +<span id="L26" class="LineNr">26 </span> session <span class="Special"><-</span> $close-socket session +<span id="L27" class="LineNr">27 </span> socket <span class="Special"><-</span> $close-socket socket +<span id="L28" class="LineNr">28 </span>] </pre> </body> </html> |