Sun 20 Oct 15:08:44 CEST 2024
This commit is contained in:
		
							parent
							
								
									e69804f971
								
							
						
					
					
						commit
						c5ab85ebe6
					
				
							
								
								
									
										65
									
								
								webv86/serve
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								webv86/serve
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,65 @@ | |||
| #!/usr/bin/env node | ||||
| var http = require('http'); | ||||
| var fs = require('fs'); | ||||
| var path = require('path'); | ||||
| 
 | ||||
| http.createServer(function (request, response) { | ||||
|     console.log('request starting...'); | ||||
| 
 | ||||
|     var filePath = '.' + request.url; | ||||
|     if (filePath == './') | ||||
|         filePath = 'vm86.html'; | ||||
|     filePath='web/'+filePath | ||||
|      | ||||
|     console.log(filePath) | ||||
|     var extname = path.extname(filePath); | ||||
|     var contentType = 'text/html'; | ||||
|     switch (extname) { | ||||
|         case '.js': | ||||
|             contentType = 'text/javascript'; | ||||
|             break; | ||||
|         case '.css': | ||||
|             contentType = 'text/css'; | ||||
|             break; | ||||
|         case '.json': | ||||
|             contentType = 'application/json'; | ||||
|             break; | ||||
|         case '.png': | ||||
|             contentType = 'image/png'; | ||||
|             break;       | ||||
|         case '.jpg': | ||||
|             contentType = 'image/jpg'; | ||||
|             break; | ||||
|         case '.wav': | ||||
|             contentType = 'audio/wav'; | ||||
|             break; | ||||
|         case '.wasm': | ||||
|             contentType = 'application/wasm'; | ||||
|             break; | ||||
|         case '.html': | ||||
|             contentType = 'text/html'; | ||||
|             break; | ||||
|     } | ||||
| 
 | ||||
|     fs.readFile(filePath, function(error, content) { | ||||
|         if (error) { | ||||
|             if(error.code == 'ENOENT'){ | ||||
|                 fs.readFile('./404.html', function(error, content) { | ||||
|                     response.writeHead(200, { 'Content-Type': contentType }); | ||||
|                     response.end(content, 'utf-8'); | ||||
|                 }); | ||||
|             } | ||||
|             else { | ||||
|                 response.writeHead(500); | ||||
|                 response.end('Sorry, check with the site admin for error: '+error.code+' ..\n'); | ||||
|                 response.end();  | ||||
|             } | ||||
|         } | ||||
|         else { | ||||
|             response.writeHead(200, { 'Content-Type': contentType }); | ||||
|             response.end(content, 'utf-8'); | ||||
|         } | ||||
|     }); | ||||
| 
 | ||||
| }).listen(8125); | ||||
| console.log('Server running at http://127.0.0.1:8125/'); | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user