Sha256: 188711153a394cc290f887b49a4b6773b969d275fa20f809d88406a0293c332b
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
module SimpleJsonapi module Rails module ActionController class RequestValidator attr_reader :request, :params delegate :body, :content_type, :media_type, :accept, :path, to: :request, prefix: true def initialize(request, params) @request = request @params = params end def valid_content_type_header? if request.respond_to?(:media_type) !request_has_body? || request_media_type == SimpleJsonapi::MIME_TYPE else !request_has_body? || request_content_type == SimpleJsonapi::MIME_TYPE end end def valid_accept_header? request_accept.blank? || request_accept == SimpleJsonapi::MIME_TYPE end def valid_request_body? return true unless request_has_body? params["data"].present? && valid_relationship_body? end def valid_relationship_body? request_path.exclude?("relationships") || params["data"]&.is_a?(Array) end private def request_has_body? request_body.size > 0 end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple_jsonapi_rails-1.3.0 | lib/simple_jsonapi/rails/action_controller/request_validator.rb |