Guest User

Untitled

a guest
May 26th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. var sys = require('sys'),
  2. http = require('http');
  3.  
  4. var AUTH_USER = '<AUTH USER>';
  5. var AUTH_API_KEY = '<API KEY>';
  6.  
  7. function GetPage(host, port, user, api_key, callback) {
  8. sys.puts("Starting GetPage Method...");
  9. var authServer = http.createClient(80, host);
  10. sys.puts("AuthServer created...");
  11. var authReq = authServer.request(
  12. 'GET',
  13. '/v1.0',
  14. {
  15. 'X-Auth-User': user,
  16. 'X-Auth-Key' : api_key
  17. }
  18. );
  19.  
  20. authReq.addListener('response', function(response) {
  21. authReq.addListener('data', function(response) {
  22. sys.puts("Running callback");
  23. //callback.call(response);
  24. });
  25. });
  26. authReq.end();
  27. sys.puts("Ending GetPage Method...");
  28. }
  29.  
  30. function Authenticate() {
  31. sys.puts("Starting Authenticate Method...");
  32. GetPage("auth.api.rackspacecloud.com", 80, AUTH_USER, AUTH_API_KEY, ProcessResponse);
  33. sys.puts("Ending AUthenticate Method...");
  34.  
  35. }
  36.  
  37.  
  38. function ProcessResponse(response) {
  39. sys.puts("Starting ProcessResponse Method...")
  40. if(response.statusCode == 301)
  41. {
  42. sys.puts("Redirected...");
  43. var split = response.headers["location"].split('/');
  44. var nextServer = http.createClient(443, split[2], true);
  45. var nextReq = nextServer.request(
  46. 'GET',
  47. '/v1.0',
  48. {
  49. 'Host' : split[2],
  50. 'X-Auth-User': AUTH_USER,
  51. 'X-Auth-Key' : AUTH_API_KEY,
  52. }
  53. );
  54. nextReq.addListener('response', function(response) {
  55. nextReq.addListener('end', ProcessResponse(response));
  56. });
  57. nextReq.end();
  58. }
  59. else
  60. {
  61. sys.puts("Final Dest.");
  62. RETURNED.X_STORAGE = res2.headers["x-storage-url"];
  63. RETURNED.X_CDN = res2.headers["x-cdn-management-url"];
  64. RETURNED.X_AUTH_TOKEN = res2.headers["x-auth-token"];
  65. RETURNED.X_STORAGE_TOKEN = res2.headers["x-storage-token"];
  66. callback(RETURNED);
  67. }
  68. }
  69.  
  70. Authenticate();
  71.  
  72. http.createServer(function (request, response) {
  73. response.writeHead(200, {'Content-Type' : 'text/plain'});
  74. response.end(request);
  75. sys.log("Request Processed");
  76. }).listen(8000);
  77.  
  78. sys.puts("Server listening on port 8000...");
Add Comment
Please, Sign In to add comment