File: proxy.pl

package info (click to toggle)
libmojolicious-perl 9.31%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,260 kB
  • sloc: perl: 10,139; makefile: 31; javascript: 1
file content (20 lines) | stat: -rw-r--r-- 557 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#
# A simple HTTP proxy server for debugging
#
#   $ HTTP_PROXY=http://127.0.0.1:3000 mojo get http://mojolicious.org
#
use Mojolicious::Lite -signatures;

any '/*whatever' => {whatever => ''} => sub ($c) {
  my $req     = $c->req;
  my $method  = $req->method;
  my $url     = $req->url->to_abs;
  my $headers = $req->headers->clone->dehop->to_hash;
  $c->app->log->debug(qq{Forwarding "$method $url"});

  $c->proxy->start_p($c->ua->build_tx($method, $url, $headers))->catch(sub ($err) {
    $c->render(data => $err, status => 400);
  });
};

app->start;