ソースを参照

finally working

George Baugh 1 年間 前
親
コミット
c3ac833fd2
3 ファイル変更、7 行追加、7 行削除
  1. 4 1
      call.pl
  2. 3 1
      lib/TPSGI.pm
  3. 0 5
      service/tpsgi.sh

+ 4 - 1
call.pl

@@ -13,11 +13,14 @@ $ENV{HOME}=$FindBin::Bin;
 #Grab our custom routes
 use TPSGI;
 
+my $host = $ENV{DOMAIN} // 'localhost';
+
 my %env = (
     REQUEST_METHOD => $ARGV[0],
     PATH_INFO      => $ARGV[1],
     QUERY_STRING   => $ARGV[2],
-    REQUEST_URI    => 'http://localhost/'.$ARGV[1],
+    REQUEST_URI    => "http://$host/".$ARGV[1],
+    HTTP_HOST      => $host
 );
 
 our $app = sub {

+ 3 - 1
lib/TPSGI.pm

@@ -7,6 +7,7 @@ use warnings;
 
 use feature qw{state};
 
+use Cwd();
 use Carp::Always;
 
 use POSIX();
@@ -474,7 +475,7 @@ sub app {
     my $deflate = grep { 'gzip' eq $_ } @accept_encodings;
 
     # Set the IP of the request so we can fail2ban
-    $self->{ip} = $env->{HTTP_X_FORWARDED_FOR} || $env->{REMOTE_ADDR};
+    $self->{ip} = $env->{HTTP_X_FORWARDED_FOR} || $env->{REMOTE_ADDR} || $self->{ip};
 
     my $streaming = $env->{'psgi.streaming'};
 
@@ -767,6 +768,7 @@ sub get_config {
         domain     => '',
         user       => '',
     );
+    $ENV{HOME} ||= Cwd::getcwd();
    	my $config_file = "$ENV{HOME}/.tpsgi.ini";
 	if (-f $config_file) {
 		my $conf = Config::Simple->new($config_file);

+ 0 - 5
service/tpsgi.sh

@@ -1,10 +1,5 @@
 #!/bin/bash
-HOMEDIR=$(git rev-parse --show-toplevel)
-[[ ! -z $HOMEDIR ]] && HOME=$HOMEDIR
-echo "Set HOME to $HOME"
 
-cd $HOME
-echo "Changed directory to $HOME"
 # Make sure this is referring to the right perl env
 source .bashrc