1 contributor
<%
# Git
my $git = app->git;
# Parameters
my $user = param('user');
my $project = param('project');
my $rev_file = param('rev_file');
my ($rev, $file) = $git->parse_rev_path(app->rep_info($user, $project), $rev_file);
# Blob raw
my $blob_raw = $git->blob_raw(app->rep_info($user, $project), $rev, $file);
# Content type
my $type = $git->blob_content_type(app->rep_info($user, $project), $rev, $file);
# File name
my $file_name = $rev;
if (defined $file) { $file_name = $file }
elsif ($type =~ m/^text\//) { $file_name .= '.txt' }
# Content disposition
my $content_disposition = "inline; filename=$file_name";
# Response
$self->res->headers->content_disposition($content_disposition);
$self->res->headers->content_type($type);
$self->render(data => $blob_raw);
return;
%>