-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
55 lines (48 loc) · 1.79 KB
/
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var port = process.env.PORT || 3000;
var ac = require('./index.js');
var fs = require('fs');
var http = require('http');
var index = fs.readFileSync(__dirname + '/index.html');
ac.import(function(err, count){
console.log('imported a bunch of words');
});
http.createServer(function handler(request, response){
var word;
var url = request.url;
if (url.length === 1){
response.writeHead(200,{'Content-Type': 'text/html'});
response.end(index.toString());
} else if(url.indexOf('/find/') > - 1){ //localhost:3000/find/word
word = url.split('/')[2];
//console.log("word before ac.findword: " + word);
ac.findWord(word, function(err, found){
// console.log("Found the following words: " + found);
response.end(found.join(',')); // returns to client string of found words
});
// response.end('word:', word);
}
else if(url.indexOf('/define/') > -1){
// define stuff here
//console.log("url:" + url);
word = url.split('/')[2];
//console.log("word before ac.define: " + word);
ac.define(word, function(err, definition){ // definition has stuff at this point
if(err){
response.end(err);
}
//console.log("DEFINITION TO STRING: " + definition);
response.end(definition); // returns to client string of definition
});
} else {
fs.readFile(__dirname + url, function(err, data){
if (err){
response.end();
} else {
var ext = url.split('.')[1];
response.writeHead(200, {'Content-Type' : 'text/' + ext});
response.end(data);
}
});
}
}).listen(port); // accepts connections on the specified port
console.log('node http server listening on http://localhost:' + port);