| Class | HTTP::FormData::Urlencoded |
| In: |
lib/http/form_data/urlencoded.rb
|
| Parent: | Object |
`application/x-www-form-urlencoded` form data.
| size | -> | content_length |
|
Returns form data content size to be used for HTTP request `Content-Length` header.
@return [Integer] |
||
Set custom form data encoder implementation.
@example
module CustomFormDataEncoder
UNESCAPED_CHARS = /[^a-z0-9\-\.\_\~]/i
def self.escape(s)
::URI::DEFAULT_PARSER.escape(s.to_s, UNESCAPED_CHARS)
end
def self.call(data)
parts = []
data.each do |k, v|
k = escape(k)
if v.nil?
parts << k
elsif v.respond_to?(:to_ary)
v.to_ary.each { |vv| parts << "#{k}=#{escape vv}" }
else
parts << "#{k}=#{escape v}"
end
end
parts.join("&")
end
end
HTTP::FormData::Urlencoded.encoder = CustomFormDataEncoder
@raise [ArgumentError] if implementation deos not responds to `call`. @param implementation [call] @return [void]
Returns MIME type to be used for HTTP request `Content-Type` header.
@return [String]