UNPKG

node-http-server

Version:

A very simple and fast http server for node, bash, and spawnable from C, Python etc. It is lightweight and great for embedded solutions as well as everyday development or public facing apps.

207 lines (151 loc) 13.1 kB
<!DOCTYPE html> <html> <head> <title>https-advancedApp</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"> <link rel="stylesheet" media="all" href="../../assets/file_1.css"/> <link rel="stylesheet" media="all" href="../../assets/file_5.css"/> <link rel="stylesheet" media="all" href="../../assets/32px.png"/> <link rel="stylesheet" media="all" href="../../assets/40px.png"/> <link rel="stylesheet" media="all" href="../../assets/throbber.gif"/> <link rel="stylesheet" media="all" href="../../assets/file_7.css"/> <link rel="stylesheet" media="all" href="../../assets/file_8.css"/> <script src="../../assets/file_2.js" type="text/javascript"></script> <script src="../../assets/file_3.js" type="text/javascript"></script> <script src="../../assets/file_4.js" type="text/javascript"></script> <script src="../../assets/file_6.js" type="text/javascript"></script> <script type="application/json" id="jsTreeJSON"> [{"id":"./example/basic/https-advancedApp.js","text":"https-advancedApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"https-advancedApp.js.html"},"state":{"selected":true}},{"id":".","text":".","icon":"jstree-folder","parent":"#","a_attr":{"href":"../.."},"state":{"opened":true}},{"id":"./example","text":"example","icon":"jstree-folder","parent":".","a_attr":{"href":".."},"state":{"opened":true}},{"id":"./example/readme.md","text":"readme.md","icon":"jstree-file","parent":"./example","a_attr":{"href":"../readme.md.html"},"state":{"selected":false}},{"id":"./example/advanced","text":"advanced","icon":"jstree-folder","parent":"./example","a_attr":{"href":"../advanced"},"state":{"opened":false}},{"id":"./example/advanced/basicTemplate.js","text":"basicTemplate.js","icon":"jstree-file","parent":"./example/advanced","a_attr":{"href":"../advanced/basicTemplate.js.html"},"state":{"selected":false}},{"id":"./example/advanced/https-ONLY-basicTemplate.js","text":"https-ONLY-basicTemplate.js","icon":"jstree-file","parent":"./example/advanced","a_attr":{"href":"../advanced/https-ONLY-basicTemplate.js.html"},"state":{"selected":false}},{"id":"./example/advanced/https-basicTemplate.js","text":"https-basicTemplate.js","icon":"jstree-file","parent":"./example/advanced","a_attr":{"href":"../advanced/https-basicTemplate.js.html"},"state":{"selected":false}},{"id":"./example/advanced/https-randomCSS.js","text":"https-randomCSS.js","icon":"jstree-file","parent":"./example/advanced","a_attr":{"href":"../advanced/https-randomCSS.js.html"},"state":{"selected":false}},{"id":"./example/advanced/https-requestBenchmark.js","text":"https-requestBenchmark.js","icon":"jstree-file","parent":"./example/advanced","a_attr":{"href":"../advanced/https-requestBenchmark.js.html"},"state":{"selected":false}},{"id":"./example/advanced/randomCSS.js","text":"randomCSS.js","icon":"jstree-file","parent":"./example/advanced","a_attr":{"href":"../advanced/randomCSS.js.html"},"state":{"selected":false}},{"id":"./example/advanced/requestBenchmark.js","text":"requestBenchmark.js","icon":"jstree-file","parent":"./example/advanced","a_attr":{"href":"../advanced/requestBenchmark.js.html"},"state":{"selected":false}},{"id":"./example/basic","text":"basic","icon":"jstree-folder","parent":"./example","a_attr":{"href":"."},"state":{"opened":true}},{"id":"./example/basic/advancedApp.js","text":"advancedApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"advancedApp.js.html"},"state":{"selected":false}},{"id":"./example/basic/basicApp.js","text":"basicApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"basicApp.js.html"},"state":{"selected":false}},{"id":"./example/basic/basicLogging.js","text":"basicLogging.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"basicLogging.js.html"},"state":{"selected":false}},{"id":"./example/basic/cluster-basicApp.js","text":"cluster-basicApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"cluster-basicApp.js.html"},"state":{"selected":false}},{"id":"./example/basic/https-ONLY-basicApp.js","text":"https-ONLY-basicApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"https-ONLY-basicApp.js.html"},"state":{"selected":false}},{"id":"./README.md","text":"README.md","icon":"jstree-file","parent":".","a_attr":{"href":"../../README.md.html"},"state":{"selected":false}},{"id":"./example/basic/https-basicApp.js","text":"https-basicApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"https-basicApp.js.html"},"state":{"selected":false}},{"id":"./example/basic/https-basicLogging.js","text":"https-basicLogging.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"https-basicLogging.js.html"},"state":{"selected":false}},{"id":"./example/basic/https-multipleDomains.js","text":"https-multipleDomains.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"https-multipleDomains.js.html"},"state":{"selected":false}},{"id":"./example/basic/https-verboseApp.js","text":"https-verboseApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"https-verboseApp.js.html"},"state":{"selected":false}},{"id":"./example/basic/multipleDomains.js","text":"multipleDomains.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"multipleDomains.js.html"},"state":{"selected":false}},{"id":"./example/basic/verboseApp.js","text":"verboseApp.js","icon":"jstree-file","parent":"./example/basic","a_attr":{"href":"verboseApp.js.html"},"state":{"selected":false}},{"id":"./example/proxy","text":"proxy","icon":"jstree-folder","parent":"./example","a_attr":{"href":"../proxy"},"state":{"opened":false}},{"id":"./example/proxy/basic.js","text":"basic.js","icon":"jstree-file","parent":"./example/proxy","a_attr":{"href":"../proxy/basic.js.html"},"state":{"selected":false}},{"id":"./example/proxy/https-and-http-basic.js","text":"https-and-http-basic.js","icon":"jstree-file","parent":"./example/proxy","a_attr":{"href":"../proxy/https-and-http-basic.js.html"},"state":{"selected":false}},{"id":"./example/proxy/https-and-http-google-proxy.js","text":"https-and-http-google-proxy.js","icon":"jstree-file","parent":"./example/proxy","a_attr":{"href":"../proxy/https-and-http-google-proxy.js.html"},"state":{"selected":false}},{"id":"./server","text":"server","icon":"jstree-folder","parent":".","a_attr":{"href":"../../server"},"state":{"opened":false}},{"id":"./server/Config.js","text":"Config.js","icon":"jstree-file","parent":"./server","a_attr":{"href":"../../server/Config.js.html"},"state":{"selected":false}},{"id":"./server/Server.js","text":"Server.js","icon":"jstree-file","parent":"./server","a_attr":{"href":"../../server/Server.js.html"},"state":{"selected":false}},{"id":"./bin","text":"bin","icon":"jstree-folder","parent":".","a_attr":{"href":"../../bin"},"state":{"opened":false}},{"id":"./bin/nhs.js","text":"nhs.js","icon":"jstree-file","parent":"./bin","a_attr":{"href":"../../bin/nhs.js.html"},"state":{"selected":false}},{"id":"./local-certs","text":"local-certs","icon":"jstree-folder","parent":".","a_attr":{"href":"../../local-certs"},"state":{"opened":false}},{"id":"./local-certs/readme.md","text":"readme.md","icon":"jstree-file","parent":"./local-certs","a_attr":{"href":"../../local-certs/readme.md.html"},"state":{"selected":false}}] </script> </head> <body class="markdown-body"> <h1> https-advancedApp </h1> <div class="subHeading"> ./example/basic/https-advancedApp.js </div> <button type="button" class="navigatorToggle">&#9776; files...</button> <nav class="navigationTree minimized"> <input type="text" id="jsTreeSearch" placeholder="search..."/> <div></div> </nav> <section> <ul class="sectionDetails "> <li id="section-1"> <div class="annotation"> <p>import the <code>node-http-server</code> module <code>const server=require(‘node-http-server’);</code></p> </div><div class="content"> <div class="highlight"><pre><span class="hljs-keyword">const</span> server=<span class="hljs-built_in">require</span>(<span class="hljs-string">'../../server/Server.js'</span>);</pre></div> </div> </li> <li id="section-2"> <div class="annotation"> <p> instantiate <code>config</code> as a new <code>server.config</code> instance so we get all the defaults. This will allow us to perform deeper modifications without corrupting the default set.</p> </div><div class="content"> <div class="highlight"><pre><span class="hljs-keyword">const</span> config=<span class="hljs-keyword">new</span> server.Config;</pre></div> </div> </li> <li id="section-3"> <div class="annotation"> <p>inspect the config</p> </div><div class="content"> <div class="highlight"><pre><span class="hljs-built_in">console</span>.log(config);</pre></div> </div> </li> <li id="section-4"> <div class="annotation"> <p>customize the 404 error body</p> </div><div class="content"> <div class="highlight"><pre>config.errors[<span class="hljs-string">'404'</span>] = <span class="hljs-string">'These are not the files you are looking for...'</span>;</pre></div> </div> </li> <li id="section-5"> <div class="annotation"> <p>add support for mp4</p> </div><div class="content"> <div class="highlight"><pre>config.contentType.mp4 = <span class="hljs-string">'video/mp4'</span>;</pre></div> </div> </li> <li id="section-6"> <div class="annotation"> <p>set the node server port to 8005</p> </div><div class="content"> <div class="highlight"><pre>config.port = <span class="hljs-number">8005</span>;</pre></div> </div> </li> <li id="section-7"> <div class="annotation"> <p>set the server to be verbose so we can see detailed info on the server, it’s requests and responses</p> </div><div class="content"> <div class="highlight"><pre>config.verbose = <span class="hljs-literal">true</span>;</pre></div> </div> </li> <li id="section-8"> <div class="annotation"> <p>set the root public directory</p> </div><div class="content"> <div class="highlight"><pre>config.root = __dirname+<span class="hljs-string">'/appRoot/'</span>;</pre></div> </div> </li> <li id="section-9"> <div class="annotation"> <p>set the node ssl privte key</p> </div><div class="content"> <div class="highlight"><pre>config.https.privateKey = <span class="hljs-string">`<span class="hljs-subst">${__dirname}</span>/../../local-certs/private/server.key`</span>;</pre></div> </div> </li> <li id="section-10"> <div class="annotation"> <p>set the node ssl cert</p> </div><div class="content"> <div class="highlight"><pre>config.https.certificate= <span class="hljs-string">`<span class="hljs-subst">${__dirname}</span>/../../local-certs/server.pub`</span>;</pre></div> </div> </li> <li id="section-11"> <div class="annotation"> <p>set the node ssl port</p> </div><div class="content"> <div class="highlight"><pre>config.https.port = <span class="hljs-number">4433</span>;</pre></div> </div> </li> <li id="section-12"> <div class="annotation"> <p>start the server</p> </div><div class="content"> <div class="highlight"><pre>server.deploy(config);</pre></div> </div> </li> <li id="section-13"> <div class="annotation"> <p>take a look at the server instance</p> </div><div class="content"> <div class="highlight"><pre><span class="hljs-built_in">console</span>.log(server);</pre></div> </div> </li> </ul> </section> </body> </html>