class PostBin::Server
Public Class Methods
parse_args(argv)
click to toggle source
Parse command line args.
# File lib/postbin/server.rb, line 65 def self.parse_args(argv) # default options. options = { :bind => '127.0.0.1', :port => 6969, :server => 'thin', :enviroment => :production } # available options. opts = OptionParser.new('', 24, ' ') do |opts| opts.banner = 'Usage: postbin [options]' opts.separator '' opts.separator 'PostBin options:' opts.on('-v', '--version', 'show version number') { $stderr.puts 'PostBin ' + PostBin::Version; exit } opts.on('-h', '--help', 'show this message') { $stderr.puts opts; exit; } opts.separator '' opts.separator 'Rack options:' opts.on('-s', '--server SERVER', 'server (webrick, mongrel, thin, etc.)') { |s| options[:server] = s } opts.on('-a', '--address HOST', 'listen on HOST address (default: 127.0.0.1)') { |host| options[:bind] = host } opts.on('-p', '--port PORT', 'use PORT number (default: 6969)') { |port| options[:port] = port } end.parse!(argv) options end
run_command_line!(argv)
click to toggle source
Runs a server on local machine, called by command line executable.
# File lib/postbin/server.rb, line 58 def self.run_command_line!(argv) options = parse_args(argv) $stderr.puts "== Starting PostBin on http://#{options[:bind]}:#{options[:port]}" run!(options) end
Private Instance Methods
client_request_headers()
click to toggle source
Returns an array of all client side HTTP request headers.
# File lib/postbin/server.rb, line 88 def client_request_headers # POST /some/url HTTP/1.1 # Accept: application/json # Content-Type: application/json headers = request.env.select { |k,v| k.start_with? 'HTTP_' } \ .collect { |pair| [ pair[0].sub(/^HTTP_/, ''), pair[1] ] } \ .collect { |pair| pair.join(': ') } headers end