Sha256: 53ad348922c193218ae7c3efe9f2384384150aac6ce597374bc79ad274cd11a9

Contents?: true

Size: 453 Bytes

Versions: 8

Compression:

Stored size: 453 Bytes

Contents

class Simple::Httpd::BaseController
  def parsed_body
    return @parsed_body if defined? @parsed_body

    @parsed_body = parse_body
  rescue RuntimeError => e
    raise ArgumentError, e.to_s
  end

  private

  def parse_body
    case request.media_type
    when "application/json"
      request.body.rewind
      body = request.body.read
      body == "" ? {} : JSON.parse(body)
    else
      # parses form data
      request.POST
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
simple-httpd-0.4.3 lib/simple/httpd/base_controller/request.rb
simple-httpd-0.4.2 lib/simple/httpd/base_controller/request.rb
simple-httpd-0.4.1 lib/simple/httpd/base_controller/request.rb
simple-httpd-0.4.0 lib/simple/httpd/base_controller/request.rb
simple-httpd-0.3.5 lib/simple/httpd/base_controller/request.rb
simple-httpd-0.3.4 lib/simple/httpd/base_controller/request.rb
simple-httpd-0.3.3 lib/simple/httpd/base_controller/request.rb
simple-httpd-0.3.1 lib/simple/httpd/base_controller/request.rb