|
1 | 1 |
|
2 | 2 |
|
3 | 3 |
|
4 | | - var fs = require('fs'); |
5 | | - |
6 | | - var key,cert = setup(); |
7 | 4 | var port = 3002; |
8 | | - var server = require('https').createServer({key,cert},request).listen(port); |
9 | | - console.log(`https://localhost:${port}/`); |
10 | | - |
| 5 | + var server = require('http').createServer(request).listen(port); |
| 6 | + console.log(`http://localhost:${port}/`); |
11 | 7 | function request(req,res){ |
12 | 8 | console.log(req.method,req.url); |
13 | 9 | var url = req.url.slice(1); |
14 | | - if(url=='')url='index.html'; |
15 | 10 |
|
16 | | - switch(url){ |
| 11 | + if(url==''){ |
| 12 | + res.writeHead(200,{'content-type':'text/html'}).end(html); |
| 13 | + return; |
| 14 | + } |
17 | 15 |
|
18 | | - case 'hello' : return hello(req,res); |
| 16 | + var ext = url.split('.').at(-1),type; |
| 17 | + switch(ext){ |
| 18 | + |
| 19 | + case 'html' : type='text/html'; |
| 20 | + case 'js' : type='text/javascript'; break; |
| 21 | + case 'css' : type='text/css'; break; |
19 | 22 |
|
20 | 23 | }//switch |
21 | 24 |
|
22 | | - if(!fs.existsSync(req.url)){ |
23 | | - res.writeHead(404).end(`404 Not Found : ${req.url}`); |
24 | | - return; |
25 | | - } |
26 | | - var stat = fs.statSync(req.url); |
27 | | - if(!stat.isFile()){ |
28 | | - res.writeHead(404).end(`404 Not Found : ${req.url}`); |
29 | | - return; |
30 | | - } |
31 | | - |
32 | | - var type = mime(abs); |
33 | 25 | res.writeHead(200,{'content-type':type}); |
34 | | - fs.createReadStream(abs).pipe(res); |
| 26 | + require('fs').createReadStream(url).pipe(res); |
35 | 27 |
|
36 | 28 | }//request |
37 | 29 |
|
38 | 30 |
|
39 | | - function hello(req,res){ |
40 | | - |
41 | | - res.writeHead(200,{'content-type':'text/html'}); |
42 | | - res.end(` |
43 | | - <style>html{font-family:arial}body{margin:20px}</style> |
44 | | - <h3>HTTPS Works!</h3> |
45 | | - <h4 style='color:blue'>/hello</h4> |
46 | | - `); |
47 | | - |
48 | | - }//hello |
49 | | - |
50 | | - |
51 | | - function setup(){ |
52 | | - |
53 | | - key = |
54 | | - '-----BEGIN RSA PRIVATE KEY-----\n' + |
55 | | - 'MIIEpAIBAAKCAQEAqWZ5x4R8GVoRKeXe++SN54MzUD1BD/eNfmELIedKeof0m/Cx\n' + |
56 | | - 'XQZn2KyxYzvPmCKM6qv0Y458sadmaG0HQGUb55lmox6T7U5LjF3C7HM2PZjuQw5Z\n' + |
57 | | - '4nnCEcu/yEcqNU/a5b9noBY132v/0iIvOn5f4ptQZ8JslU6YmCdznt23rgHUjcOx\n' + |
58 | | - 'LYdU8xT53HwEvxZoem8hVIYek+mX2nU8AIj0WMx+piqaxtxFHv6PNmNe6M81ggxL\n' + |
59 | | - 'Tr7DvECS+Nl+s5ec7uOClsgafKt5ZxvYufsI7vxTC47/Co2TYuNgpIVqmpykg1Yx\n' + |
60 | | - 'KyElGzSIpB7bzDlqq8erU98kjCYzjTiy67KJuQIDAQABAoIBABblbOxUsdlTXSKG\n' + |
61 | | - 'mV7+g1eZWiQsQ1D/Kra8Mx7//gcVvTAeljp2lS6qGMfK28I6WUWWvE+AgMYaVDMl\n' + |
62 | | - 'GWfQwrbI+yBtD51xibCNM711zQ0CUKHrnKaJwntZSLCvPbs68eE/v6fZmKp8FHW4\n' + |
63 | | - 'fR2w2xDr4TBFDRwZJXLbUjtUyHDSQSMUiIfAsJoDTloAsYXGm5bqVv+9mxvli0gp\n' + |
64 | | - 'lmiFW3CZCmZC9vjid1Gn4CI3SpwU/Mu6a8ldvA/fU6WnTJ+Wlpi8DcvacmaHLqAd\n' + |
65 | | - 'U+CXchyi1/Q6TmG3a82QRIntSLA4R+tr6OLQprMre1C9Mb/e+7L0TG0TCYlKLuvj\n' + |
66 | | - '4W3PgckCgYEA/TEYkDtc0m4nXmPwxYJQkPyMT/BGqvoAcKBu7EF28+bN8de53SHP\n' + |
67 | | - 'PREsdFgN/vPGvjHsIXhPyNmRkw+kRYtUCmUWD2SJN0weZ0d+Q3NtGSfLiXIlJwaT\n' + |
68 | | - '/vlyxevVg+JW/8c5sL7Fj4vAVxJCJzYM9Kzvsst4t85eAY/DIp09W6cCgYEAq0d3\n' + |
69 | | - 'D7aJwWLi2IdPjW2rJ/bdgLMDUGo0x85RCBH2qb7MPAVenQylcknXXvSLrwv93PbJ\n' + |
70 | | - 'w+IQuS1hRXmRLSq24TmOX7hWLILBhUh7bEwQqW6cr0TX4QgkbI8CJNwfyTKqj0ye\n' + |
71 | | - 'UEEUCnBaDboTqPAXM9+EAQwzmaSlkQM3VPQ0G58CgYEAve/yyWB/Ba11Ay5eFQzp\n' + |
72 | | - 'e5q5d858dQ8O/W6dR8bkgZwHqwF2gRk36kvT2YOlHDmsQkoZJhKnZ7kvp+74AOPA\n' + |
73 | | - 'q/uhTPLSrRUBSeEsK1WP5msgGX/ztw8MPx7KpweAKWvGcCL4eErk0ga4x5j+34OA\n' + |
74 | | - 'vJxvROW3Lcw2YV2DuZfTy8kCgYABv5gCjA158OV56l+whOcTYFzAfJNTFdJ2G7AO\n' + |
75 | | - 'EgjfkLgLAM8HcWKa+Q/+wyZN4iR0RfynSD59dW4hxGzr9hypzembJomSqL8K+kNw\n' + |
76 | | - 'RpKA+EUXMO+3N1sP1KHj+G9GoYLGNbUEArYOqTjyHO0oc1L5T5XMYPCB6AFcqpi9\n' + |
77 | | - 'AEUr5wKBgQC/m5Eq2XWG2XP1i3G0ut0ierM8+XXw1ydiyAOuHM3aUBwtCirsIBAd\n' + |
78 | | - 'kGlVjhwrYIs6DfcPf0hdroPmEHl8BBb1zGUISYZSNhVY2Sxfut26nYAIV85pSmrg\n' + |
79 | | - 'Lk1ryU8dYQMT7+7GqxfSaznp6iGm/Blfcnk9YbBOgvs7i6ewJC49kg==\n' + |
80 | | - '-----END RSA PRIVATE KEY-----\n' |
81 | | - ; |
82 | | - cert = |
83 | | - '-----BEGIN CERTIFICATE-----\n' + |
84 | | - 'MIIDcjCCAlqgAwIBAgIBATANBgkqhkiG9w0BAQUFADAlMSMwIQYDVQQDExpsb2Nh\n' + |
85 | | - 'bGhvc3QgdGVzdCBjZXJ0aWZpY2F0ZTAeFw0yNTA2MjYxNzQ5MDBaFw0yNjA2MjYx\n' + |
86 | | - 'NzQ5MDBaMCUxIzAhBgNVBAMTGmxvY2FsaG9zdCB0ZXN0IGNlcnRpZmljYXRlMIIB\n' + |
87 | | - 'IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqWZ5x4R8GVoRKeXe++SN54Mz\n' + |
88 | | - 'UD1BD/eNfmELIedKeof0m/CxXQZn2KyxYzvPmCKM6qv0Y458sadmaG0HQGUb55lm\n' + |
89 | | - 'ox6T7U5LjF3C7HM2PZjuQw5Z4nnCEcu/yEcqNU/a5b9noBY132v/0iIvOn5f4ptQ\n' + |
90 | | - 'Z8JslU6YmCdznt23rgHUjcOxLYdU8xT53HwEvxZoem8hVIYek+mX2nU8AIj0WMx+\n' + |
91 | | - 'piqaxtxFHv6PNmNe6M81ggxLTr7DvECS+Nl+s5ec7uOClsgafKt5ZxvYufsI7vxT\n' + |
92 | | - 'C47/Co2TYuNgpIVqmpykg1YxKyElGzSIpB7bzDlqq8erU98kjCYzjTiy67KJuQID\n' + |
93 | | - 'AQABo4GsMIGpMAkGA1UdEwQCMAAwIAYDVR0RBBkwF4IJbG9jYWxob3N0hwR/AAAB\n' + |
94 | | - 'hwR/AAACMB0GA1UdDgQWBBRN+qxeeW3ngsZaImHYKWaf4ztRkDALBgNVHQ8EBAMC\n' + |
95 | | - 'AvQwOwYDVR0lBDQwMgYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYB\n' + |
96 | | - 'BQUHAwEGCCsGAQUFBwMIMBEGCWCGSAGG+EIBAQQEAwIA5zANBgkqhkiG9w0BAQUF\n' + |
97 | | - 'AAOCAQEAgoAgtNpwyHjf/lEaYNxPXU3IuvpBJb0J2pU/vU3ImGTZoCpEjqAnduUB\n' + |
98 | | - 'zPIL9jk2xoIn4w2u8h4AALi/0+8/w+Lf39EGVw2v5Obd5/L00aRtYq4syitWh7st\n' + |
99 | | - 'cGiJhL6OR6sZw1/Z+MsQWoXn1K8wEusalNs9zTimpn/wt+fFFem5Ao5sFKp7OvxE\n' + |
100 | | - 'tJGOIjEq0ErBvbejRMLQTFHaBKsSyA/G8fFyQaAdnOuPHpJJjNfWhrNfr3kxuKsF\n' + |
101 | | - 'c7BcCD7p6Q3GVcUsIpAudj6k0ueDottTlQ7PVwiJlWTISvzCrz4dI1dwE7VpZ04Y\n' + |
102 | | - 'AZpOcmiSQO2WFjUS/N5y9g+zJs/Osw==\n' + |
103 | | - '-----END CERTIFICATE-----\n' |
104 | | - ; |
105 | | - return {key,cert}; |
106 | | - |
107 | | - }//setup |
108 | | - |
109 | | - |
| 31 | + var html = ` |
| 32 | + <style>html{font-family:arial}body{margin:20px}</style> |
| 33 | + <h3>It Works!</h3> |
| 34 | + `; |
110 | 35 |
|
111 | 36 |
|
112 | 37 |
|
|
0 commit comments