Как назначить обработчик стойки

Rackup успешно запускает любое приложение Rack с помощью обработчика по умолчанию. Например:

class RackApp  
  def call(environment)    
  [
    '200', 
    {'Content-Type' => 'text/html'}, 
    ["Hello world"]
  ]
  end 
end
run RackApp.new

Но rackup дает «NoMethodError at/undefined метод 'call' для nil: NilClass», когда последняя строка изменяется, чтобы вместо этого использовать встроенный обработчик CGI стойки:

Rack::Handler::CGI.run RackApp.new

То же самое возражение возникает для других встроенных обработчиков стойки. например, Стойка:: Укладчик:: Тонкий, Стойка:: Укладчик:: FastCGI, даже Стойка:: Укладчик:: WEBrick (то, которое является Стойкой укладчика, выбирает выше в режиме по умолчанию).

Каков здесь правильный синтаксис?

-121--1830863- Необязательный stdin в Python с argparse Я нашел очень полезный синтаксис parser.add_argument ('-i', '-input-file', type = argparse.FileType ('r'), default = '-')

Я нашел очень полезный синтаксис

parser.add_argument('-i', '--input-file', type=argparse.FileType('r'), default='-')

для указания входного файла или использования stdin - оба из которых я хочу в своей программе. Однако входной файл не всегда требуется. Если я не использую -i или перенаправляю входные данные с помощью одного из

$ someprog | my_python_prog
$ my_python_prog < inputfile

, я не хочу, чтобы программа Python ожидала ввода. Я хочу, чтобы он просто двигался и использовал значения по умолчанию.

60
задан Justin Force 27 September 2011 в 22:47
поделиться