-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
30 lines (22 loc) · 936 Bytes
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var express = require("express");
var app = express();
app.get(/^\/\d+$/, (req, resp)=>{
resp.end(printDate(+req.url.substr(1)));
}).get(/^\/\w+\%20\d{1,2},\%20[1-9]\d{3}$/, (req, resp)=>{
resp.end(printDate(req.url.substr(1)));
}).listen(8080, ()=>{
console.log("Server started!");
});
function printDate(dateStrOrTimestamp) {
if('string' === typeof dateStrOrTimestamp) {
dateStrOrTimestamp = decodeURIComponent(dateStrOrTimestamp);
}
var dateObj = {unix:'', natural:''};
var months = ['Janurary', 'Feburary', 'March', 'April',
'May', 'June', 'July', 'August', 'September',
'October', 'November', 'December'];
var date = new Date(dateStrOrTimestamp);
dateObj.unix = date.getTime();
dateObj.natural = months[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear();
return JSON.stringify(dateObj);
}