diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2020-02-08 00:25:19 +1300 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2020-02-08 00:38:46 +1300 |
commit | eb7de84db6b184533f42553a0c79a2de1a4c8f18 (patch) | |
tree | 45fd817fdf92af9753e272810d76ee6d7fa1d4a6 | |
parent | a146b6a8fa7fce0ea74a452fb9fffa6ffc6218d4 (diff) | |
download | rack-eb7de84db6b184533f42553a0c79a2de1a4c8f18.tar.gz |
Document AUTHORITY regexp.
-rw-r--r-- | lib/rack/request.rb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/rack/request.rb b/lib/rack/request.rb index 73f893a6..4a915f0e 100644 --- a/lib/rack/request.rb +++ b/lib/rack/request.rb @@ -403,6 +403,7 @@ module Rack def form_data? type = media_type meth = get_header(RACK_METHODOVERRIDE_ORIGINAL_METHOD) || get_header(REQUEST_METHOD) + (meth == POST && type.nil?) || FORM_DATA_MEDIA_TYPES.include?(type) end @@ -590,7 +591,22 @@ module Rack value ? value.strip.split(/[,\s]+/) : [] end - AUTHORITY = /(?<host>(\[(?<ip6>.*)\])|(?<ip4>[\d\.]+)|(?<name>[a-zA-Z0-9\.\-]+))(:(?<port>\d+))?/ + AUTHORITY = / + # The host: + (?<host> + # An IPv6 address: + (\[(?<ip6>.*)\]) + | + # An IPv4 address: + (?<ip4>[\d\.]+) + | + # A hostname: + (?<name>[a-zA-Z0-9\.\-]+) + ) + # The optional port: + (:(?<port>\d+))? + /x + private_constant :AUTHORITY def split_authority(authority) |