mirror of
				https://codeberg.org/buzzcode2007/FCC-Project-URLShortener.git
				synced 2025-05-21 03:06:34 +00:00 
			
		
		
		
	Merge branch 'gomix' into gomix
This commit is contained in:
		
						commit
						4acc2dffb7
					
				
					 6 changed files with 633 additions and 26 deletions
				
			
		
							
								
								
									
										2
									
								
								.replit
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.replit
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | language = "nodejs" | ||||||
|  | run = "npm start" | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| # API Project: URL Shortener Microservice for freeCodeCamp | # API Project: URL Shortener Microservice for freeCodeCamp | ||||||
| 
 | 
 | ||||||
|  | [](https://repl.it/github/freeCodeCamp/boilerplate-project-urlshortener) | ||||||
| 
 | 
 | ||||||
| ### User Stories | ### User Stories | ||||||
| 
 | 
 | ||||||
|  | @ -18,4 +19,4 @@ POST [project_url]/api/shorturl/new - body (urlencoded) :  url=https://www.googl | ||||||
| 
 | 
 | ||||||
| #### Will redirect to: | #### Will redirect to: | ||||||
| 
 | 
 | ||||||
| http://forum.freecodecamp.com | https://www.freecodecamp.org/forum/ | ||||||
							
								
								
									
										605
									
								
								package-lock.json
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										605
									
								
								package-lock.json
									
										
									
										generated
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,605 @@ | ||||||
|  | { | ||||||
|  | 	"name": "shorturl", | ||||||
|  | 	"version": "0.0.3", | ||||||
|  | 	"lockfileVersion": 1, | ||||||
|  | 	"requires": true, | ||||||
|  | 	"dependencies": { | ||||||
|  | 		"accepts": { | ||||||
|  | 			"version": "1.3.7", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", | ||||||
|  | 			"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"mime-types": "~2.1.24", | ||||||
|  | 				"negotiator": "0.6.2" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"array-flatten": { | ||||||
|  | 			"version": "1.1.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | ||||||
|  | 			"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" | ||||||
|  | 		}, | ||||||
|  | 		"bl": { | ||||||
|  | 			"version": "2.2.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/bl/-/bl-2.2.0.tgz", | ||||||
|  | 			"integrity": "sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"readable-stream": "^2.3.5", | ||||||
|  | 				"safe-buffer": "^5.1.1" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"bluebird": { | ||||||
|  | 			"version": "3.5.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", | ||||||
|  | 			"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" | ||||||
|  | 		}, | ||||||
|  | 		"body-parser": { | ||||||
|  | 			"version": "1.19.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", | ||||||
|  | 			"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"bytes": "3.1.0", | ||||||
|  | 				"content-type": "~1.0.4", | ||||||
|  | 				"debug": "2.6.9", | ||||||
|  | 				"depd": "~1.1.2", | ||||||
|  | 				"http-errors": "1.7.2", | ||||||
|  | 				"iconv-lite": "0.4.24", | ||||||
|  | 				"on-finished": "~2.3.0", | ||||||
|  | 				"qs": "6.7.0", | ||||||
|  | 				"raw-body": "2.4.0", | ||||||
|  | 				"type-is": "~1.6.17" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"bson": { | ||||||
|  | 			"version": "1.1.4", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.4.tgz", | ||||||
|  | 			"integrity": "sha512-S/yKGU1syOMzO86+dGpg2qGoDL0zvzcb262G+gqEy6TgP6rt6z6qxSFX/8X6vLC91P7G7C3nLs0+bvDzmvBA3Q==" | ||||||
|  | 		}, | ||||||
|  | 		"bytes": { | ||||||
|  | 			"version": "3.1.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", | ||||||
|  | 			"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" | ||||||
|  | 		}, | ||||||
|  | 		"content-disposition": { | ||||||
|  | 			"version": "0.5.3", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", | ||||||
|  | 			"integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"safe-buffer": "5.1.2" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"content-type": { | ||||||
|  | 			"version": "1.0.4", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", | ||||||
|  | 			"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" | ||||||
|  | 		}, | ||||||
|  | 		"cookie": { | ||||||
|  | 			"version": "0.4.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", | ||||||
|  | 			"integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" | ||||||
|  | 		}, | ||||||
|  | 		"cookie-signature": { | ||||||
|  | 			"version": "1.0.6", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", | ||||||
|  | 			"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" | ||||||
|  | 		}, | ||||||
|  | 		"core-util-is": { | ||||||
|  | 			"version": "1.0.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", | ||||||
|  | 			"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" | ||||||
|  | 		}, | ||||||
|  | 		"cors": { | ||||||
|  | 			"version": "2.8.5", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", | ||||||
|  | 			"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"object-assign": "^4", | ||||||
|  | 				"vary": "^1" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"debug": { | ||||||
|  | 			"version": "2.6.9", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||||||
|  | 			"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"ms": "2.0.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"denque": { | ||||||
|  | 			"version": "1.4.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz", | ||||||
|  | 			"integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==" | ||||||
|  | 		}, | ||||||
|  | 		"depd": { | ||||||
|  | 			"version": "1.1.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", | ||||||
|  | 			"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" | ||||||
|  | 		}, | ||||||
|  | 		"destroy": { | ||||||
|  | 			"version": "1.0.4", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", | ||||||
|  | 			"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" | ||||||
|  | 		}, | ||||||
|  | 		"ee-first": { | ||||||
|  | 			"version": "1.1.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | ||||||
|  | 			"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" | ||||||
|  | 		}, | ||||||
|  | 		"encodeurl": { | ||||||
|  | 			"version": "1.0.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||||||
|  | 			"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" | ||||||
|  | 		}, | ||||||
|  | 		"escape-html": { | ||||||
|  | 			"version": "1.0.3", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | ||||||
|  | 			"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" | ||||||
|  | 		}, | ||||||
|  | 		"etag": { | ||||||
|  | 			"version": "1.8.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | ||||||
|  | 			"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" | ||||||
|  | 		}, | ||||||
|  | 		"express": { | ||||||
|  | 			"version": "4.17.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", | ||||||
|  | 			"integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"accepts": "~1.3.7", | ||||||
|  | 				"array-flatten": "1.1.1", | ||||||
|  | 				"body-parser": "1.19.0", | ||||||
|  | 				"content-disposition": "0.5.3", | ||||||
|  | 				"content-type": "~1.0.4", | ||||||
|  | 				"cookie": "0.4.0", | ||||||
|  | 				"cookie-signature": "1.0.6", | ||||||
|  | 				"debug": "2.6.9", | ||||||
|  | 				"depd": "~1.1.2", | ||||||
|  | 				"encodeurl": "~1.0.2", | ||||||
|  | 				"escape-html": "~1.0.3", | ||||||
|  | 				"etag": "~1.8.1", | ||||||
|  | 				"finalhandler": "~1.1.2", | ||||||
|  | 				"fresh": "0.5.2", | ||||||
|  | 				"merge-descriptors": "1.0.1", | ||||||
|  | 				"methods": "~1.1.2", | ||||||
|  | 				"on-finished": "~2.3.0", | ||||||
|  | 				"parseurl": "~1.3.3", | ||||||
|  | 				"path-to-regexp": "0.1.7", | ||||||
|  | 				"proxy-addr": "~2.0.5", | ||||||
|  | 				"qs": "6.7.0", | ||||||
|  | 				"range-parser": "~1.2.1", | ||||||
|  | 				"safe-buffer": "5.1.2", | ||||||
|  | 				"send": "0.17.1", | ||||||
|  | 				"serve-static": "1.14.1", | ||||||
|  | 				"setprototypeof": "1.1.1", | ||||||
|  | 				"statuses": "~1.5.0", | ||||||
|  | 				"type-is": "~1.6.18", | ||||||
|  | 				"utils-merge": "1.0.1", | ||||||
|  | 				"vary": "~1.1.2" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"finalhandler": { | ||||||
|  | 			"version": "1.1.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", | ||||||
|  | 			"integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"debug": "2.6.9", | ||||||
|  | 				"encodeurl": "~1.0.2", | ||||||
|  | 				"escape-html": "~1.0.3", | ||||||
|  | 				"on-finished": "~2.3.0", | ||||||
|  | 				"parseurl": "~1.3.3", | ||||||
|  | 				"statuses": "~1.5.0", | ||||||
|  | 				"unpipe": "~1.0.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"forwarded": { | ||||||
|  | 			"version": "0.1.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", | ||||||
|  | 			"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" | ||||||
|  | 		}, | ||||||
|  | 		"fresh": { | ||||||
|  | 			"version": "0.5.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | ||||||
|  | 			"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" | ||||||
|  | 		}, | ||||||
|  | 		"http-errors": { | ||||||
|  | 			"version": "1.7.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", | ||||||
|  | 			"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"depd": "~1.1.2", | ||||||
|  | 				"inherits": "2.0.3", | ||||||
|  | 				"setprototypeof": "1.1.1", | ||||||
|  | 				"statuses": ">= 1.5.0 < 2", | ||||||
|  | 				"toidentifier": "1.0.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"iconv-lite": { | ||||||
|  | 			"version": "0.4.24", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||||||
|  | 			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"safer-buffer": ">= 2.1.2 < 3" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"inherits": { | ||||||
|  | 			"version": "2.0.3", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | ||||||
|  | 			"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" | ||||||
|  | 		}, | ||||||
|  | 		"ipaddr.js": { | ||||||
|  | 			"version": "1.9.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | ||||||
|  | 			"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | ||||||
|  | 		}, | ||||||
|  | 		"isarray": { | ||||||
|  | 			"version": "1.0.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||||||
|  | 			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | ||||||
|  | 		}, | ||||||
|  | 		"kareem": { | ||||||
|  | 			"version": "2.3.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz", | ||||||
|  | 			"integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw==" | ||||||
|  | 		}, | ||||||
|  | 		"media-typer": { | ||||||
|  | 			"version": "0.3.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | ||||||
|  | 			"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" | ||||||
|  | 		}, | ||||||
|  | 		"memory-pager": { | ||||||
|  | 			"version": "1.5.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", | ||||||
|  | 			"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", | ||||||
|  | 			"optional": true | ||||||
|  | 		}, | ||||||
|  | 		"merge-descriptors": { | ||||||
|  | 			"version": "1.0.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | ||||||
|  | 			"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" | ||||||
|  | 		}, | ||||||
|  | 		"methods": { | ||||||
|  | 			"version": "1.1.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", | ||||||
|  | 			"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" | ||||||
|  | 		}, | ||||||
|  | 		"mime": { | ||||||
|  | 			"version": "1.6.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||||||
|  | 			"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" | ||||||
|  | 		}, | ||||||
|  | 		"mime-db": { | ||||||
|  | 			"version": "1.44.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", | ||||||
|  | 			"integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" | ||||||
|  | 		}, | ||||||
|  | 		"mime-types": { | ||||||
|  | 			"version": "2.1.27", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", | ||||||
|  | 			"integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"mime-db": "1.44.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"mongodb": { | ||||||
|  | 			"version": "3.5.9", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.9.tgz", | ||||||
|  | 			"integrity": "sha1-eZtyvoEQt+caiCu3zg2E0FQp93I=", | ||||||
|  | 			"requires": { | ||||||
|  | 				"bl": "^2.2.0", | ||||||
|  | 				"bson": "^1.1.4", | ||||||
|  | 				"denque": "^1.4.1", | ||||||
|  | 				"require_optional": "^1.0.1", | ||||||
|  | 				"safe-buffer": "^5.1.2", | ||||||
|  | 				"saslprep": "^1.0.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"mongoose": { | ||||||
|  | 			"version": "5.9.27", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.9.27.tgz", | ||||||
|  | 			"integrity": "sha512-N8zj4pj9J2xJ2BnQ4NiIHEtmjPldtbmbEZOMz4phLTQr3KFWPR0T0I6EzQxNioHwmDbHD4VFzbEd755oD2SJxA==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"bson": "^1.1.4", | ||||||
|  | 				"kareem": "2.3.1", | ||||||
|  | 				"mongodb": "3.5.10", | ||||||
|  | 				"mongoose-legacy-pluralize": "1.0.2", | ||||||
|  | 				"mpath": "0.7.0", | ||||||
|  | 				"mquery": "3.2.2", | ||||||
|  | 				"ms": "2.1.2", | ||||||
|  | 				"regexp-clone": "1.0.0", | ||||||
|  | 				"safe-buffer": "5.2.1", | ||||||
|  | 				"sift": "7.0.1", | ||||||
|  | 				"sliced": "1.0.1" | ||||||
|  | 			}, | ||||||
|  | 			"dependencies": { | ||||||
|  | 				"mongodb": { | ||||||
|  | 					"version": "3.5.10", | ||||||
|  | 					"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.10.tgz", | ||||||
|  | 					"integrity": "sha512-p/C48UvTU/dr/PQEDKfb9DsCVDJWXGmdJNFC+u5FPmTQVtog69X6D8vrWHz+sJx1zJnd96sjdh9ueo7bx2ILTw==", | ||||||
|  | 					"requires": { | ||||||
|  | 						"bl": "^2.2.0", | ||||||
|  | 						"bson": "^1.1.4", | ||||||
|  | 						"denque": "^1.4.1", | ||||||
|  | 						"require_optional": "^1.0.1", | ||||||
|  | 						"safe-buffer": "^5.1.2", | ||||||
|  | 						"saslprep": "^1.0.0" | ||||||
|  | 					} | ||||||
|  | 				}, | ||||||
|  | 				"ms": { | ||||||
|  | 					"version": "2.1.2", | ||||||
|  | 					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||||||
|  | 					"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" | ||||||
|  | 				}, | ||||||
|  | 				"safe-buffer": { | ||||||
|  | 					"version": "5.2.1", | ||||||
|  | 					"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", | ||||||
|  | 					"integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=" | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"mongoose-legacy-pluralize": { | ||||||
|  | 			"version": "1.0.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", | ||||||
|  | 			"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==" | ||||||
|  | 		}, | ||||||
|  | 		"mpath": { | ||||||
|  | 			"version": "0.7.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.7.0.tgz", | ||||||
|  | 			"integrity": "sha512-Aiq04hILxhz1L+f7sjGyn7IxYzWm1zLNNXcfhDtx04kZ2Gk7uvFdgZ8ts1cWa/6d0TQmag2yR8zSGZUmp0tFNg==" | ||||||
|  | 		}, | ||||||
|  | 		"mquery": { | ||||||
|  | 			"version": "3.2.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz", | ||||||
|  | 			"integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"bluebird": "3.5.1", | ||||||
|  | 				"debug": "3.1.0", | ||||||
|  | 				"regexp-clone": "^1.0.0", | ||||||
|  | 				"safe-buffer": "5.1.2", | ||||||
|  | 				"sliced": "1.0.1" | ||||||
|  | 			}, | ||||||
|  | 			"dependencies": { | ||||||
|  | 				"debug": { | ||||||
|  | 					"version": "3.1.0", | ||||||
|  | 					"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", | ||||||
|  | 					"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", | ||||||
|  | 					"requires": { | ||||||
|  | 						"ms": "2.0.0" | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"ms": { | ||||||
|  | 			"version": "2.0.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||||||
|  | 			"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" | ||||||
|  | 		}, | ||||||
|  | 		"negotiator": { | ||||||
|  | 			"version": "0.6.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", | ||||||
|  | 			"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" | ||||||
|  | 		}, | ||||||
|  | 		"object-assign": { | ||||||
|  | 			"version": "4.1.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | ||||||
|  | 			"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" | ||||||
|  | 		}, | ||||||
|  | 		"on-finished": { | ||||||
|  | 			"version": "2.3.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", | ||||||
|  | 			"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", | ||||||
|  | 			"requires": { | ||||||
|  | 				"ee-first": "1.1.1" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"parseurl": { | ||||||
|  | 			"version": "1.3.3", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | ||||||
|  | 			"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" | ||||||
|  | 		}, | ||||||
|  | 		"path-to-regexp": { | ||||||
|  | 			"version": "0.1.7", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | ||||||
|  | 			"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" | ||||||
|  | 		}, | ||||||
|  | 		"process-nextick-args": { | ||||||
|  | 			"version": "2.0.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||||||
|  | 			"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||||||
|  | 		}, | ||||||
|  | 		"proxy-addr": { | ||||||
|  | 			"version": "2.0.6", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", | ||||||
|  | 			"integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"forwarded": "~0.1.2", | ||||||
|  | 				"ipaddr.js": "1.9.1" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"qs": { | ||||||
|  | 			"version": "6.7.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", | ||||||
|  | 			"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" | ||||||
|  | 		}, | ||||||
|  | 		"range-parser": { | ||||||
|  | 			"version": "1.2.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | ||||||
|  | 			"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" | ||||||
|  | 		}, | ||||||
|  | 		"raw-body": { | ||||||
|  | 			"version": "2.4.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", | ||||||
|  | 			"integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"bytes": "3.1.0", | ||||||
|  | 				"http-errors": "1.7.2", | ||||||
|  | 				"iconv-lite": "0.4.24", | ||||||
|  | 				"unpipe": "1.0.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"readable-stream": { | ||||||
|  | 			"version": "2.3.7", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||||||
|  | 			"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"core-util-is": "~1.0.0", | ||||||
|  | 				"inherits": "~2.0.3", | ||||||
|  | 				"isarray": "~1.0.0", | ||||||
|  | 				"process-nextick-args": "~2.0.0", | ||||||
|  | 				"safe-buffer": "~5.1.1", | ||||||
|  | 				"string_decoder": "~1.1.1", | ||||||
|  | 				"util-deprecate": "~1.0.1" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"regexp-clone": { | ||||||
|  | 			"version": "1.0.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", | ||||||
|  | 			"integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" | ||||||
|  | 		}, | ||||||
|  | 		"require_optional": { | ||||||
|  | 			"version": "1.0.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", | ||||||
|  | 			"integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"resolve-from": "^2.0.0", | ||||||
|  | 				"semver": "^5.1.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"resolve-from": { | ||||||
|  | 			"version": "2.0.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", | ||||||
|  | 			"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" | ||||||
|  | 		}, | ||||||
|  | 		"safe-buffer": { | ||||||
|  | 			"version": "5.1.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||||||
|  | 			"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||||||
|  | 		}, | ||||||
|  | 		"safer-buffer": { | ||||||
|  | 			"version": "2.1.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||||||
|  | 			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||||||
|  | 		}, | ||||||
|  | 		"saslprep": { | ||||||
|  | 			"version": "1.0.3", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", | ||||||
|  | 			"integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", | ||||||
|  | 			"optional": true, | ||||||
|  | 			"requires": { | ||||||
|  | 				"sparse-bitfield": "^3.0.3" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"semver": { | ||||||
|  | 			"version": "5.7.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||||||
|  | 			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" | ||||||
|  | 		}, | ||||||
|  | 		"send": { | ||||||
|  | 			"version": "0.17.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", | ||||||
|  | 			"integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"debug": "2.6.9", | ||||||
|  | 				"depd": "~1.1.2", | ||||||
|  | 				"destroy": "~1.0.4", | ||||||
|  | 				"encodeurl": "~1.0.2", | ||||||
|  | 				"escape-html": "~1.0.3", | ||||||
|  | 				"etag": "~1.8.1", | ||||||
|  | 				"fresh": "0.5.2", | ||||||
|  | 				"http-errors": "~1.7.2", | ||||||
|  | 				"mime": "1.6.0", | ||||||
|  | 				"ms": "2.1.1", | ||||||
|  | 				"on-finished": "~2.3.0", | ||||||
|  | 				"range-parser": "~1.2.1", | ||||||
|  | 				"statuses": "~1.5.0" | ||||||
|  | 			}, | ||||||
|  | 			"dependencies": { | ||||||
|  | 				"ms": { | ||||||
|  | 					"version": "2.1.1", | ||||||
|  | 					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", | ||||||
|  | 					"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"serve-static": { | ||||||
|  | 			"version": "1.14.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", | ||||||
|  | 			"integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"encodeurl": "~1.0.2", | ||||||
|  | 				"escape-html": "~1.0.3", | ||||||
|  | 				"parseurl": "~1.3.3", | ||||||
|  | 				"send": "0.17.1" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"setprototypeof": { | ||||||
|  | 			"version": "1.1.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", | ||||||
|  | 			"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" | ||||||
|  | 		}, | ||||||
|  | 		"sift": { | ||||||
|  | 			"version": "7.0.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz", | ||||||
|  | 			"integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" | ||||||
|  | 		}, | ||||||
|  | 		"sliced": { | ||||||
|  | 			"version": "1.0.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", | ||||||
|  | 			"integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" | ||||||
|  | 		}, | ||||||
|  | 		"sparse-bitfield": { | ||||||
|  | 			"version": "3.0.3", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", | ||||||
|  | 			"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", | ||||||
|  | 			"optional": true, | ||||||
|  | 			"requires": { | ||||||
|  | 				"memory-pager": "^1.0.2" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"statuses": { | ||||||
|  | 			"version": "1.5.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | ||||||
|  | 			"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" | ||||||
|  | 		}, | ||||||
|  | 		"string_decoder": { | ||||||
|  | 			"version": "1.1.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||||||
|  | 			"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"safe-buffer": "~5.1.0" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"toidentifier": { | ||||||
|  | 			"version": "1.0.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | ||||||
|  | 			"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" | ||||||
|  | 		}, | ||||||
|  | 		"type-is": { | ||||||
|  | 			"version": "1.6.18", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | ||||||
|  | 			"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", | ||||||
|  | 			"requires": { | ||||||
|  | 				"media-typer": "0.3.0", | ||||||
|  | 				"mime-types": "~2.1.24" | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		"unpipe": { | ||||||
|  | 			"version": "1.0.0", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | ||||||
|  | 			"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" | ||||||
|  | 		}, | ||||||
|  | 		"util-deprecate": { | ||||||
|  | 			"version": "1.0.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||||||
|  | 			"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" | ||||||
|  | 		}, | ||||||
|  | 		"utils-merge": { | ||||||
|  | 			"version": "1.0.1", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", | ||||||
|  | 			"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" | ||||||
|  | 		}, | ||||||
|  | 		"vary": { | ||||||
|  | 			"version": "1.1.2", | ||||||
|  | 			"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||||||
|  | 			"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								package.json
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								package.json
									
										
									
									
									
								
							|  | @ -1,20 +1,20 @@ | ||||||
| { | { | ||||||
| 	"name": "shorturl", | 	"name": "shorturl", | ||||||
| 	"version": "0.0.1", | 	"version": "0.0.3", | ||||||
| 	"description": "API project for freeCodeCamp", | 	"description": "API project for freeCodeCamp", | ||||||
| 	"main": "server.js", | 	"main": "server.js", | ||||||
| 	"scripts": { | 	"scripts": { | ||||||
| 		"start": "node server.js" | 		"start": "node server.js" | ||||||
| 	}, | 	}, | ||||||
| 	"dependencies": { | 	"dependencies": { | ||||||
| 		"express": "^5.0.0-alpha.2", | 		"express": "^4.17.1", | ||||||
| 		"mongodb": "^2.2.5", | 		"mongodb": "^3.5.9", | ||||||
| 		"mongoose": "^4.5.7", | 		"mongoose": "^5.9.27", | ||||||
| 		"cors": "^2.8.1", | 		"cors": "^2.8.5", | ||||||
| 		"body-parser": "^1.15.2" | 		"body-parser": "^1.19.0" | ||||||
| 	}, | 	}, | ||||||
| 	"engines": { | 	"engines": { | ||||||
| 		"node": "4.4.5" | 		"node": "12.18.3" | ||||||
| 	}, | 	}, | ||||||
| 	"repository": { | 	"repository": { | ||||||
| 		"type": "git", | 		"type": "git", | ||||||
|  |  | ||||||
							
								
								
									
										25
									
								
								server.js
									
										
									
									
									
								
							
							
						
						
									
										25
									
								
								server.js
									
										
									
									
									
								
							|  | @ -1,37 +1,36 @@ | ||||||
| 'use strict'; | 'use strict'; | ||||||
| 
 | 
 | ||||||
| var express = require('express'); | const express = require('express'), | ||||||
| var mongo = require('mongodb'); |       mongo = require('mongodb'), | ||||||
| var mongoose = require('mongoose'); |       mongoose = require('mongoose'), | ||||||
| 
 |       cors = require('cors'), | ||||||
| var cors = require('cors'); |       app = express(); | ||||||
| 
 |  | ||||||
| var app = express(); |  | ||||||
| 
 | 
 | ||||||
| // Basic Configuration 
 | // Basic Configuration 
 | ||||||
| var port = process.env.PORT || 3000; | const port = process.env.PORT || 3000; | ||||||
| 
 | 
 | ||||||
| /** this project needs a db !! **/  | /** this project needs a db !! **/  | ||||||
| mongoose.connect(process.env.MONGOLAB_URI, { useMongoClient: true }); | mongoose.connect(process.env.MONGOLAB_URI, { useMongoClient: true }); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| app.use(cors()); | app.use(cors()); | ||||||
| 
 | 
 | ||||||
| /** this project needs to parse POST bodies **/ | /** this project needs to parse POST bodies **/ | ||||||
| // you should mount the body-parser here
 | // you should mount the body-parser here
 | ||||||
| 
 | 
 | ||||||
| app.use('/public', express.static(process.cwd() + '/public')); | app.use('/public', express.static(`${process.cwd()}/public`)); | ||||||
| 
 | 
 | ||||||
| app.get('/', function(req, res){ | app.get('/', (req, res) => { | ||||||
|   res.sendFile(process.cwd() + '/views/index.html'); |   res.sendFile(`${process.cwd()}/views/index.html`); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|    |    | ||||||
| // your first API endpoint... 
 | // your first API endpoint... 
 | ||||||
| app.get("/api/hello", function (req, res) { | app.get("/api/hello", (req, res) => { | ||||||
|   res.json({greeting: 'hello API'}); |   res.json({greeting: 'hello API'}); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| app.listen(port, function () { | app.listen(port, () => { | ||||||
|   console.log('Node.js listening ...'); |   console.log('Node.js listening ...'); | ||||||
| }); | }); | ||||||
|  |  | ||||||
|  | @ -26,20 +26,20 @@ | ||||||
|         </p> |         </p> | ||||||
|         <form action="api/shorturl/new" method="POST"> |         <form action="api/shorturl/new" method="POST"> | ||||||
|           <label for="url_input">URL to be shortened</label> |           <label for="url_input">URL to be shortened</label> | ||||||
|           <input id="url_input" type="text" name="url" value="https://www.freecodecamp.com"> |           <input id="url_input" type="text" name="url" value="https://www.freecodecamp.org"> | ||||||
|           <input type="submit" value="POST URL"> |           <input type="submit" value="POST URL"> | ||||||
|         </form> |         </form> | ||||||
|         <h3>Example Usage:</h3> |         <h3>Example Usage:</h3> | ||||||
|         <a href="https://thread-paper.hyperdev.space/api/shorturl/3"> |         <a href="https://url-shortener.freecodecamp.repl.co/api/shorturl/3"> | ||||||
|           [this_project_url]/api/shorturl/3 |           [this_project_url]/api/shorturl/3 | ||||||
|         </a> |         </a> | ||||||
| 
 | 
 | ||||||
|         <h3>Will Redirect to:</h3> |         <h3>Will Redirect to:</h3> | ||||||
|         <p>https://forum.freecodecamp.com</p> |         <p>https://forum.freecodecamp.org/</p> | ||||||
|       </div> |       </div> | ||||||
|       <div class="footer"> |       <div class="footer"> | ||||||
|         <p> |         <p> | ||||||
|           by <a href="http://www.freecodecamp.com">freeCodeCamp</a> |           by <a href="https://www.freecodecamp.org">freeCodeCamp</a> | ||||||
|         </p> |         </p> | ||||||
|       </div> |       </div> | ||||||
|    </body> |    </body> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue