diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sisu/v5/webrick.rb | 133 | ||||
| -rw-r--r-- | lib/sisu/v6/webrick.rb | 133 | 
2 files changed, 132 insertions, 134 deletions
| diff --git a/lib/sisu/v5/webrick.rb b/lib/sisu/v5/webrick.rb index f6ff970b..5a8a3223 100644 --- a/lib/sisu/v5/webrick.rb +++ b/lib/sisu/v5/webrick.rb @@ -74,7 +74,6 @@ module SiSU_Webserv        include SiSU_Env        include SiSU_Screen      def initialize -    begin                                                                          #%        @cX=SiSU_Screen::Ansi.new('yes').cX        @env=SiSU_Env::InfoEnv.new        port=SiSU_Env::InfoPort.new @@ -93,29 +92,58 @@ module SiSU_Webserv        @week=Time.now.strftime(%{%Yw%W})        puts "\n"        @mount.each { |x,y| -        puts "        #{@cX.cyan}#{x}#{@cX.off}\t#{@cX.grey}see#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/wb.cgi#{@cX.off} #{@cX.ruby}@#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}" +        puts "  * #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}"        } -      puts "#{@cX.grey}" -      wb_s2=[] -                                                               #% writes file wb.cgi to shared directories ... -                                                               #% wb_top -      wb_top=%q(#!/usr/bin/env ruby -      # * arch-tag: webrick info on environment, mounted directories, and contents of pwd +      get=Dir.pwd +      brick(@port,get) +    end +    def brick(port,get='') +      cgidir=if get=~/pwd/ then Dir.pwd +      else                      '/usr/lib/cgi-bin' +      end +      port=SiSU_Env::InfoPort.new.webrick        begin -        require 'time' -        require 'cgi' -        require 'fcgi' -      rescue LoadError -        puts 'time, cgi or fcgi NOT FOUND (LoadError)' +        s=HTTPServer.new( +          Port:         port, +          DocumentRoot: Dir::pwd + '/htdocs', +          CGIPathEnv:   ENV['PATH'] +        ) +        cgi_dir=File.expand_path(cgidir) +        @mount.each { |x,y|                                                        # mount subdirectories +          s.mount(x, HTTPServlet::FileHandler, y, true) +        } +        s.mount('/cgi-bin', HTTPServlet::FileHandler, cgi_dir, { FancyIndexing: true }) +        trap("INT"){ s.shutdown } +        s.start +      rescue +        SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix +          __LINE__.to_s + ':' + __FILE__ +        end +      ensure        end -      ls=Dir.entries('./') -      dir_contents=[] -      ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ } -      dir_contents=dir_contents.sort.join(' ') -      #host=ENV['HOSTNAME'] -      #host=%x{echo $HOSTNAME} -      ) -      wb_s1=<<WOK +    end +    def wb_cgi +      begin                                                                          #% +        wb_s2='' +                                                                 #% writes file wb.cgi to shared directories ... +                                                                 #% wb_top +        wb_top=%q(#!/usr/bin/env ruby +        # * arch-tag: webrick info on environment, mounted directories, and contents of pwd +        begin +          require 'time' +          require 'cgi' +          require 'fcgi' +        rescue LoadError +          puts 'time, cgi or fcgi NOT FOUND (LoadError)' +        end +        ls=Dir.entries('./') +        dir_contents=[] +        ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ } +        dir_contents=dir_contents.sort.join(' ') +        #host=ENV['HOSTNAME'] +        #host=%x{echo $HOSTNAME} +        ) +        wb_s1=<<-WOK    page=CGI.new "html3"    page.out { @@ -130,60 +158,31 @@ module SiSU_Webserv          page.p {''} +          page.p {''} +          page.p {page.b{"Webrick Served Directories: "}} + -WOK +        WOK                                                                 #% wb_s2 (mounts) -      @mount.each do |x,y| wb_s2 << <<WOK -            page.p {page.b{'<a href="#{@host}:#{@port}#{x}/">#{x}</a> '} + '<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/)   <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>'} + -WOK -    end +        @mount.each do |x,y| wb_s2 += <<-WOK +          page.p {%{<a href="#{@host}:#{@port}#{x}/">#{x}</a> } + +            %{<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/)   <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>}} + +          WOK +        end                                                                 #% wb_end -      wb_end=<<WOK +        wb_end=<<-WOK          page.p {page.b{"Contents of PWD (see URL): "}} +          page.p {"#\{dir_contents}"}        }      }    } -WOK -      @mount.each { |x,y|                                      #% wb puts -        puts y -          filename=File.new("#{y}/wb.cgi",'w') -          filename << wb_top -          filename << wb_s1 -          filename << wb_s2 -          filename << wb_end -          filename.close -          FileUtils::chmod(0755,"#{y}/wb.cgi &") if FileTest.file?("#{y}/wb.cgi &") -      } -      puts "        #{@cX.off}" -      #get=@argv.shift if @argv[0] =~/pwd/                      #% argv -      get=Dir.pwd -      brick(@port,get) -    rescue -      require_relative 'se'                                 # se.rb -      SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix -        __LINE__.to_s + ':' + __FILE__ -      end -    ensure -    end -    end -    def brick(port,get='') -      cgidir=if get=~/pwd/; Dir.pwd -      else                  '/usr/lib/cgi-bin'  # @env.path.cgi -      end -      port=SiSU_Env::InfoPort.new.webrick -      begin -        s=HTTPServer.new( -          Port:         port, -          DocumentRoot: Dir::pwd + '/htdocs', -          CGIPathEnv:   ENV['PATH'] -        ) -        cgi_dir=File.expand_path(cgidir) -        @mount.each { |x,y|                                                        # mount subdirectories -          s.mount(x, HTTPServlet::FileHandler, y, true) +        WOK +        @mount.each { |x,y|                                      #% wb puts +          puts y +            filename=File.new("#{y}/wb.cgi",'w') +            filename << wb_top +            filename << wb_s1 +            filename << wb_s2 +            filename << wb_end +            filename.close +            FileUtils::chmod(0755,"#{y}/wb.cgi &") if FileTest.file?("#{y}/wb.cgi &")          } -        s.mount('/cgi-bin', HTTPServlet::FileHandler, cgi_dir, { FancyIndexing: true }) -        trap("INT"){ s.shutdown } -        s.start        rescue          SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix            __LINE__.to_s + ':' + __FILE__ diff --git a/lib/sisu/v6/webrick.rb b/lib/sisu/v6/webrick.rb index 8ebbf2d6..feb28c7d 100644 --- a/lib/sisu/v6/webrick.rb +++ b/lib/sisu/v6/webrick.rb @@ -74,7 +74,6 @@ module SiSU_Webserv        include SiSU_Env        include SiSU_Screen      def initialize -    begin                                                                          #%        @cX=SiSU_Screen::Ansi.new('yes').cX        @env=SiSU_Env::InfoEnv.new        port=SiSU_Env::InfoPort.new @@ -93,29 +92,58 @@ module SiSU_Webserv        @week=Time.now.strftime(%{%Yw%W})        puts "\n"        @mount.each { |x,y| -        puts "        #{@cX.cyan}#{x}#{@cX.off}\t#{@cX.grey}see#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/wb.cgi#{@cX.off} #{@cX.ruby}@#{@cX.off} #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}" +        puts "  * #{@cX.blue}#{@host}:#{@port}#{x}/#{@cX.off}"        } -      puts "#{@cX.grey}" -      wb_s2=[] -                                                               #% writes file wb.cgi to shared directories ... -                                                               #% wb_top -      wb_top=%q(#!/usr/bin/env ruby -      # * arch-tag: webrick info on environment, mounted directories, and contents of pwd +      get=Dir.pwd +      brick(@port,get) +    end +    def brick(port,get='') +      cgidir=if get=~/pwd/ then Dir.pwd +      else                      '/usr/lib/cgi-bin' +      end +      port=SiSU_Env::InfoPort.new.webrick        begin -        require 'time' -        require 'cgi' -        require 'fcgi' -      rescue LoadError -        puts 'time, cgi or fcgi NOT FOUND (LoadError)' +        s=HTTPServer.new( +          Port:         port, +          DocumentRoot: Dir::pwd + '/htdocs', +          CGIPathEnv:   ENV['PATH'] +        ) +        cgi_dir=File.expand_path(cgidir) +        @mount.each { |x,y|                                                        # mount subdirectories +          s.mount(x, HTTPServlet::FileHandler, y, true) +        } +        s.mount('/cgi-bin', HTTPServlet::FileHandler, cgi_dir, { FancyIndexing: true }) +        trap("INT"){ s.shutdown } +        s.start +      rescue +        SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix +          __LINE__.to_s + ':' + __FILE__ +        end +      ensure        end -      ls=Dir.entries('./') -      dir_contents=[] -      ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ } -      dir_contents=dir_contents.sort.join(' ') -      #host=ENV['HOSTNAME'] -      #host=%x{echo $HOSTNAME} -      ) -      wb_s1=<<WOK +    end +    def wb_cgi +      begin                                                                          #% +        wb_s2='' +                                                                 #% writes file wb.cgi to shared directories ... +                                                                 #% wb_top +        wb_top=%q(#!/usr/bin/env ruby +        # * arch-tag: webrick info on environment, mounted directories, and contents of pwd +        begin +          require 'time' +          require 'cgi' +          require 'fcgi' +        rescue LoadError +          puts 'time, cgi or fcgi NOT FOUND (LoadError)' +        end +        ls=Dir.entries('./') +        dir_contents=[] +        ls.each { |x| dir_contents << "<a href=\"./#{x}/\">#{x}</a><br>" unless x =~/^(\.)+$/ } +        dir_contents=dir_contents.sort.join(' ') +        #host=ENV['HOSTNAME'] +        #host=%x{echo $HOSTNAME} +        ) +        wb_s1=<<-WOK    page=CGI.new "html3"    page.out { @@ -130,60 +158,31 @@ module SiSU_Webserv          page.p {''} +          page.p {''} +          page.p {page.b{"Webrick Served Directories: "}} + -WOK +        WOK                                                                 #% wb_s2 (mounts) -      @mount.each do |x,y| wb_s2 << <<WOK -            page.p {page.b{'<a href="#{@host}:#{@port}#{x}/">#{x}</a> '} + '<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/)   <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>'} + -WOK -    end +        @mount.each do |x,y| wb_s2 += <<-WOK +          page.p {%{<a href="#{@host}:#{@port}#{x}/">#{x}</a> } + +            %{<a href="#{@host}:#{@port}#{x}/">#{@host}:#{@port}#{x}</a> (mounts: #{y}/)   <a href="#{@host}:#{@port}#{x}/wb.cgi">info (wb.cgi)</a>}} + +          WOK +        end                                                                 #% wb_end -      wb_end=<<WOK +        wb_end=<<-WOK          page.p {page.b{"Contents of PWD (see URL): "}} +          page.p {"#\{dir_contents}"}        }      }    } -WOK -      @mount.each { |x,y|                                      #% wb puts -        puts y -          filename=File.new("#{y}/wb.cgi",'w') -          filename << wb_top -          filename << wb_s1 -          filename << wb_s2 -          filename << wb_end -          filename.close -          FileUtils::chmod(0755,"#{y}/wb.cgi &") if FileTest.file?("#{y}/wb.cgi &") -      } -      puts "        #{@cX.off}" -      #get=@argv.shift if @argv[0] =~/pwd/                      #% argv -      get=Dir.pwd -      brick(@port,get) -    rescue -      require_relative 'se'                                 # se.rb -      SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix -        __LINE__.to_s + ':' + __FILE__ -      end -    ensure -    end -    end -    def brick(port,get='') -      cgidir=if get=~/pwd/; Dir.pwd -      else                  '/usr/lib/cgi-bin'  # @env.path.cgi -      end -      port=SiSU_Env::InfoPort.new.webrick -      begin -        s=HTTPServer.new( -          Port:         port, -          DocumentRoot: Dir::pwd + '/htdocs', -          CGIPathEnv:   ENV['PATH'] -        ) -        cgi_dir=File.expand_path(cgidir) -        @mount.each { |x,y|                                                        # mount subdirectories -          s.mount(x, HTTPServlet::FileHandler, y, true) +        WOK +        @mount.each { |x,y|                                      #% wb puts +          puts y +            filename=File.new("#{y}/wb.cgi",'w') +            filename << wb_top +            filename << wb_s1 +            filename << wb_s2 +            filename << wb_end +            filename.close +            FileUtils::chmod(0755,"#{y}/wb.cgi &") if FileTest.file?("#{y}/wb.cgi &")          } -        s.mount('/cgi-bin', HTTPServlet::FileHandler, cgi_dir, { FancyIndexing: true }) -        trap("INT"){ s.shutdown } -        s.start        rescue          SiSU_Errors::Rescued.new($!,$@,'-W',nil).location do #fix            __LINE__.to_s + ':' + __FILE__ | 
