Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var sys = require('sys'),
- http = require('http');
- var AUTH_USER = '<AUTH USER>';
- var AUTH_API_KEY = '<API KEY>';
- function GetPage(host, port, user, api_key, callback) {
- sys.puts("Starting GetPage Method...");
- var authServer = http.createClient(80, host);
- sys.puts("AuthServer created...");
- var authReq = authServer.request(
- 'GET',
- '/v1.0',
- {
- 'X-Auth-User': user,
- 'X-Auth-Key' : api_key
- }
- );
- authReq.addListener('response', function(response) {
- authReq.addListener('data', function(response) {
- sys.puts("Running callback");
- //callback.call(response);
- });
- });
- authReq.end();
- sys.puts("Ending GetPage Method...");
- }
- function Authenticate() {
- sys.puts("Starting Authenticate Method...");
- GetPage("auth.api.rackspacecloud.com", 80, AUTH_USER, AUTH_API_KEY, ProcessResponse);
- sys.puts("Ending AUthenticate Method...");
- }
- function ProcessResponse(response) {
- sys.puts("Starting ProcessResponse Method...")
- if(response.statusCode == 301)
- {
- sys.puts("Redirected...");
- var split = response.headers["location"].split('/');
- var nextServer = http.createClient(443, split[2], true);
- var nextReq = nextServer.request(
- 'GET',
- '/v1.0',
- {
- 'Host' : split[2],
- 'X-Auth-User': AUTH_USER,
- 'X-Auth-Key' : AUTH_API_KEY,
- }
- );
- nextReq.addListener('response', function(response) {
- nextReq.addListener('end', ProcessResponse(response));
- });
- nextReq.end();
- }
- else
- {
- sys.puts("Final Dest.");
- RETURNED.X_STORAGE = res2.headers["x-storage-url"];
- RETURNED.X_CDN = res2.headers["x-cdn-management-url"];
- RETURNED.X_AUTH_TOKEN = res2.headers["x-auth-token"];
- RETURNED.X_STORAGE_TOKEN = res2.headers["x-storage-token"];
- callback(RETURNED);
- }
- }
- Authenticate();
- http.createServer(function (request, response) {
- response.writeHead(200, {'Content-Type' : 'text/plain'});
- response.end(request);
- sys.log("Request Processed");
- }).listen(8000);
- sys.puts("Server listening on port 8000...");
Add Comment
Please, Sign In to add comment