summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2020-02-08 00:25:19 +1300
committerSamuel Williams <samuel.williams@oriontransfer.co.nz>2020-02-08 00:38:46 +1300
commiteb7de84db6b184533f42553a0c79a2de1a4c8f18 (patch)
tree45fd817fdf92af9753e272810d76ee6d7fa1d4a6
parenta146b6a8fa7fce0ea74a452fb9fffa6ffc6218d4 (diff)
downloadrack-eb7de84db6b184533f42553a0c79a2de1a4c8f18.tar.gz
Document AUTHORITY regexp.
-rw-r--r--lib/rack/request.rb18
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)