Guest User

autowrangler.php

a guest
Aug 7th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.49 KB | None | 0 0
  1. <?php
  2.  
  3. $settings = [
  4.     "target_url" => "https://ci.starbeamrainbowlabs.com/hooks/laminar-git-repo",
  5.     "response_message" => "Processing laminar job proxy request.",
  6.     "retries" => 3,
  7.     "attempt_timeout" => 2 // in seconds, for a single attempt
  8. ];
  9.  
  10. $headers = "host: ci.starbeamrainbowlabs.com\r\n";
  11. foreach(getallheaders() as $key => $value) {
  12.     if(strtolower($key) == "host") continue;
  13.     $headers .= "$key: $value\r\n";
  14. }
  15. $headers .= "\r\n";
  16.  
  17. $request_content = file_get_contents("php://input");
  18.  
  19. // --------------------------------------------
  20.  
  21. http_response_code(202);
  22. header("content-type: text/plain");
  23. header("content-length: " . strlen($settings["response_message"]));
  24. echo($settings["response_message"]);
  25.  
  26. fastcgi_finish_request();
  27.  
  28. // --------------------------------------------
  29.  
  30. function log_message($msg) {
  31.     file_put_contents("ci-requests.log", $msg, FILE_APPEND);
  32. }
  33.  
  34. for($i = 0; $i < $settings["retries"]; $i++) {
  35.     $start = microtime(true);
  36.    
  37.     $context = stream_context_create([
  38.         "http" => [
  39.             "header" => $headers,
  40.             "method" => "POST",
  41.             "content" => $request_content,
  42.             "timeout" => $settings["attempt_timeout"]
  43.         ]
  44.     ]);
  45.  
  46.     $result = file_get_contents($settings["target_url"], false, $context);
  47.  
  48.     if($result !== false) {
  49.         log_message("[" . date("r") . "] Queued laminar job in " . (microtime(true) - $start_time)*1000 . "ms");
  50.         break;
  51.     }
  52.    
  53.    
  54.     log_message("[" . date("r") . "] Failed to laminar job after " . (microtime(true) - $start_time)*1000 . "ms.");
  55. }
Advertisement
Add Comment
Please, Sign In to add comment