Initial commit
This commit is contained in:
		
							parent
							
								
									1d430902f2
								
							
						
					
					
						commit
						0d2090ba9f
					
				
							
								
								
									
										21
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					# Use the official Node.js 18 image as the base image
 | 
				
			||||||
 | 
					FROM node:18
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the working directory inside the container
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copy package.json and package-lock.json (if available)
 | 
				
			||||||
 | 
					# (In this case, no dependencies are needed, so this step is optional)
 | 
				
			||||||
 | 
					COPY package*.json ./
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install dependencies (optional step; no dependencies are required for this example)
 | 
				
			||||||
 | 
					# RUN npm install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copy the server code into the container
 | 
				
			||||||
 | 
					COPY . .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Expose the port the server will run on
 | 
				
			||||||
 | 
					EXPOSE 3000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Command to run the server
 | 
				
			||||||
 | 
					CMD ["node", "src/app.js"]
 | 
				
			||||||
							
								
								
									
										13
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					version: "3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					networks:
 | 
				
			||||||
 | 
					  proxnet:
 | 
				
			||||||
 | 
					    external: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  websrv:
 | 
				
			||||||
 | 
					    image: v0idf1sh/request-inspector
 | 
				
			||||||
 | 
					    container_name: request-inspector
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    networks:
 | 
				
			||||||
 | 
					      - proxnet
 | 
				
			||||||
							
								
								
									
										15
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "request-inspector",
 | 
				
			||||||
 | 
					  "version": "1.0.0",
 | 
				
			||||||
 | 
					  "description": "Super basic node web server that displays all details of an HTTP request",
 | 
				
			||||||
 | 
					  "main": "src/app.js",
 | 
				
			||||||
 | 
					  "scripts": {
 | 
				
			||||||
 | 
					    "test": "echo \"Error: no test specified\" && exit 1"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "repository": {
 | 
				
			||||||
 | 
					    "type": "git",
 | 
				
			||||||
 | 
					    "url": "https://git.vfsh.dev/voidf1sh/request-inspector"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "author": "voidf1sh",
 | 
				
			||||||
 | 
					  "license": "ISC"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										31
									
								
								src/app.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/app.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					// Import required modules
 | 
				
			||||||
 | 
					const http = require('http');
 | 
				
			||||||
 | 
					const url = require('url');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Create the server
 | 
				
			||||||
 | 
					const server = http.createServer((req, res) => {
 | 
				
			||||||
 | 
					    // Parse the request URL
 | 
				
			||||||
 | 
					    const parsedUrl = url.parse(req.url, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Prepare the response content
 | 
				
			||||||
 | 
					    const responseContent = {
 | 
				
			||||||
 | 
					        method: req.method,
 | 
				
			||||||
 | 
					        url: req.url,
 | 
				
			||||||
 | 
					        headers: req.headers,
 | 
				
			||||||
 | 
					        query: parsedUrl.query,
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Set the response headers
 | 
				
			||||||
 | 
					    res.writeHead(200, { 'Content-Type': 'application/json' });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Send the response
 | 
				
			||||||
 | 
					    res.end(JSON.stringify(responseContent, null, 2));
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Define the server port
 | 
				
			||||||
 | 
					const PORT = 3000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Start the server
 | 
				
			||||||
 | 
					server.listen(PORT, () => {
 | 
				
			||||||
 | 
					    console.log(`Server is running on http://localhost:${PORT}`);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user