You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.5 KiB
JavaScript

/**
* Module dependencies.
*/
var express = require('express')
, $ = require('jquery')
, http = require('http')
, xml2js = require('xml2js')
, app = module.exports = express()
, api = require('goear_api');
var port = process.env.PORT || 8888;
var parser = new xml2js.Parser();
app.use("/css", express.static(__dirname + '/css'));
app.use("/", express.static(__dirname + '/public'));
app.use("/js", express.static(__dirname + '/js'));
app.use("/img", express.static(__dirname + '/img'));
app.get('/', function(req,res){
res.sendfile("public/index.html");
});
app.get('/search', function(req, resp){
var query = req.query['id']
var page = req.query['p']
console.log("Query:"+req.query['id']);
console.log("Page:"+page);
api.search(query, { offset: page }, function(err, data) {
var results = [];
for( var i in data.tracks){
res = data.tracks[i];
results.push({id:res.id,title:res.title,group:res.artist,quality:res.quality})
}
console.log("Total songs available: " + data.totalCount);
console.log("First title available: " + data.tracks[0].title);
console.log("Results:"+JSON.stringify(results));
resp.send(JSON.stringify(results));
});
});
app.get('/play', function(req,resp){
var id = req.query['id'];
api.lookup(id, function(err, data){
console.log('Lookup:', data);
resp.writeHead(302, {
'Location': data.link
//add other headers here...
});
resp.end();
});
});
app.listen(port);