module Whoamid::Server

Public Class Methods

run!() click to toggle source
# File lib/whoamid/server.rb, line 5
def self.run!
  port = if ENV['WHOAMID_PORT']
    begin
      (Integer ENV['WHOAMID_PORT']).to_s
    rescue
      (Integer ENV[ENV['WHOAMID_PORT']]).to_s
    end
  else
    "8080"
  end

  server = WEBrick::HTTPServer.new Port: port, BindAdress: '0.0.0.0'
  server.mount_proc '/' do |req, res|
    res.body = ENV["HOSTNAME"]
  end

  server.mount_proc '/sleep' do |req,res|
    sleep req.query_string.to_i
    res.body = ENV["HOSTNAME"]
  end

  server.mount_proc '/echo' do |req,res|
    response = []
    response << "remote ip: #{req.remote_ip}"

    response << "headers"
    req.each do |header|
      response << "#{header}: #{req[header]}"
    end
    response << ""
    res.body = response.join("\n")
  end

  server.start
end