-
Notifications
You must be signed in to change notification settings - Fork 0
/
TDevShortener.js
52 lines (48 loc) · 1.34 KB
/
TDevShortener.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
//
// TDevShortener — TDevShortener-LibNode
// today is 7/10/12, it is now 19:25 PM
// created by TotenDev
// see LICENSE for details.
//
//CONFIG
var TDShortenerEndpointDomain = "tdev.mobi";
var TDShortenerEndpointPort = 80;
/*Modules*/
var http = require('http');
/* Shortener UltilityClass */
module.exports = function (address,callback) { return new TDevShortener(address,callback); }
//Constructor
var TDevShortener = function(address, callback) { this.shortIt(address,callback); }
/**
* run
**/
TDevShortener.prototype.shortIt = function shortIt(url,callback){
var body = "link="+url;
var options = {
'host' : TDShortenerEndpointDomain,
'port' : TDShortenerEndpointPort,
'path' : "/create/",
'method' : "POST",
'headers' : {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': body.length
}
};
var responded = false;
var req = http.request( options, function(res){
var respContainer = "";
res.on('data', function(data){ respContainer += data; });
res.on('end',function () {
if (!responded) {
responded = true;
if (respContainer && res.statusCode == 200) callback(true,respContainer);
else callback(false,"Server bad statusCode: " + res.statusCode);
}
});
});
req.on('error', function(err){
if (!responded) { responded = true; callback(false,err); }
});
req.write(body);
req.end();
}