package ContentSHA256;
use nginx;

sub handler {
	my $r = shift;
	my $filename = $r->filename;

	return DECLINED unless -f $filename;

	my $content_length = -s $filename;
	my $sha256;

	if ( -f "$filename.sha256" ) {
		open( SHA256FILE, "$filename.sha256" ) or return DECLINED;
		$sha256 = <SHA256FILE>;
		close( SHA256FILE );
		$sha256 =~ s/^\s+//;
		$sha256 =~ s/\s+$//;
		$sha256 =~ s/\ .*//;
	}

	$r->header_out( "LXD-Image-Hash", $sha256 ) unless ! $sha256;

	return DECLINED;
}

1;
__END__
