package Gruntmaster::Page::Src;

use 5.014000;
use strict;
use warnings;
use Gruntmaster::Page::Base;
our @ISA = qw/Gruntmaster::Page::Base/;
our $VERSION = '0.001';

use constant CONTENT_TYPES => +{
	c => 'text/x-csrc',
	cpp => 'text/x-c++src',
	cs => 'text/x-chsarp', # Used by GNOME. Not in mime.types.
	java => 'text/x-java',
	pas => 'text/x-pascal',
	pl => 'text/x-perl',
	py => 'text/x-python',
};

sub generate{
	my ($self, $format, $env, $ct, $job, $ext) = @_;
	debug $env => "Contest is $ct, job is $job and extension is $ext";
	local $Gruntmaster::Data::contest = $ct if $ct;

	[200, ['Content-Type' => CONTENT_TYPES->{$ext}, 'Cache-Control' => 'max-age=604800', 'X-Forever' => 1], [job_inmeta($job)->{files}{prog}{content}] ]
}

sub variants{ [[file => 1, undef, undef, undef, undef, undef]] }

1
