Skip to content

Instantly share code, notes, and snippets.

@nihen
Created January 26, 2010 08:34
Show Gist options
  • Save nihen/286675 to your computer and use it in GitHub Desktop.
Save nihen/286675 to your computer and use it in GitHub Desktop.
diff --git a/lib/Plack/Server/Coro.pm b/lib/Plack/Server/Coro.pm
index 38ed29a..a534128 100644
--- a/lib/Plack/Server/Coro.pm
+++ b/lib/Plack/Server/Coro.pm
@@ -13,7 +13,14 @@ sub new {
sub run {
my($self, $app) = @_;
- my $server = Plack::Server::Coro::Server->new(host => $self->{host} || '*');
+ my $server = Plack::Server::Coro::Server->new(
+ host => $self->{host} || '*',
+ exists $self->{ssl} ? (
+ proto => 'ssl',
+ server_key => $self->{ssl_key_file} || 'certs/server-key.pem',
+ server_cert => $self->{ssl_cert_file} || 'certs/server-cert.pem',
+ ) : (),
+ );
$server->{app} = $app;
$server->run(port => $self->{port});
}
@@ -43,7 +50,7 @@ sub process_request {
'psgi.version' => [ 1, 0 ],
'psgi.errors' => *STDERR,
'psgi.input' => $self->{server}{client},
- 'psgi.url_scheme' => 'http', # SSL support?
+ 'psgi.url_scheme' => $self->{server}{proto}[0] eq 'ssl' ? 'https' : 'http', # SSL support?
'psgi.nonblocking' => Plack::Util::TRUE,
'psgi.run_once' => Plack::Util::FALSE,
'psgi.multithread' => Plack::Util::TRUE,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment