Skip to content

Instantly share code, notes, and snippets.

@Revlin
Last active August 29, 2015 13:56
Show Gist options
  • Save Revlin/9191250 to your computer and use it in GitHub Desktop.
Save Revlin/9191250 to your computer and use it in GitHub Desktop.
Mojolicious Test Server - Pingable server that prints out Request Header + Body (if any)
#!/usr/bin/perl
use Mojolicious::Lite;
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
any '/' => sub {
my $self = shift;
my $request = '';
$request .= "URL: ". $self->req->url ."\n\t";
$request .= "Method: ". $self->req->method ."\n\t";
$request .= join("\n\t",
(
'accept: '.$self->req->headers->accept,
'accept_encoding: '.$self->req->headers->accept_encoding,
'accept_charset: '.$self->req->headers->accept_charset,
'accept_language: '.$self->req->headers->accept_language,
'accept_ranges: '.$self->req->headers->accept_ranges,
'authorization: '.$self->req->headers->authorization,
'cache_control: '.$self->req->headers->cache_control,
'connection: '.$self->req->headers->connection,
'content_disposition: '.$self->req->headers->content_disposition,
'content_encoding: '.$self->req->headers->content_encoding,
'content_length: '.$self->req->headers->content_length,
'content_range: '.$self->req->headers->content_range,
'content_type: '.$self->req->headers->content_type,
'cookie: '.$self->req->headers->cookie,
'date: '.$self->req->headers->date,
'dnt: '.$self->req->headers->dnt,
'etag: '.$self->req->headers->etag,
'expect: '.$self->req->headers->expect,
'expires: '.$self->req->headers->expires,
'host: '.$self->req->headers->host,
'is_finished: '.$self->req->headers->is_finished,
'names: '.(join " ", sort @{$self->req->headers->names} ),
'referrer: '.$self->req->headers->referrer,
'user_agent: '.$self->req->headers->user_agent
)
);
$request .= "\n\n";
$request .= "Data?\n";
$request .= $self->req->body ."\n";
# Render
$self->render( text => $request );
};
app->start;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment