module WEBrick::AccessLog

Monkey patch bad User-Agent parsing

Public Instance Methods

format(format_string, params) click to toggle source
# File spec/really_dumb_webserver.rb, line 31
def format(format_string, params)
  format_string.gsub(/\%(?:\{(.*?)\})?>?([a-zA-Z%])/){
    param, spec = $1, $2
    case spec[0]
    when ?e, ?i, ?n, ?o
      raise AccessLogError,
      "parameter is required for \"#{spec}\"" unless param
      if params[spec][param]
        escape(params[spec][param])
      else
        "-"
      end
    when ?t
      params[spec].strftime(param || CLF_TIME_FORMAT)
    when ?%
      "%"
    else
      escape(params[spec].to_s)
    end
  }
end