gitprep / templates / raw.html.ep /
e3449ee 8 years ago
1 contributor
30 lines | 0.829kb
<%
  # 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;
%>