class Object

Constants

CONTENT_TYPE_MAPPING
DEFAULT_CONTENT_TYPE
WEB_ROOT

Public Instance Methods

content_type(path) click to toggle source
# File lib/noob_server/noob_server.rb, line 15
def content_type(path)
  ext = File.extname(path).split('.').last
  CONTENT_TYPE_MAPPING.fetch(ext, DEFAULT_CONTENT_TYPE)
end
requested_file(request_line) click to toggle source
# File lib/noob_server/noob_server.rb, line 20
def requested_file(request_line)
  request_uri = request_line.split(" ")[1]
  path = URI.unescape(URI(request_uri).path)

  clean = []

  parts = path.split('/')

  parts.each do |part|
    next if part.empty? || part == "."

    part == '..' ? clean.pop : clean << part
  end

  File.join(WEB_ROOT,*clean)
end