opt
/
alt
/
ruby26
/
lib64
/
ruby
/
2.6.0
/
uri
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
common.rb
19.69 KB
Rename
Delete
file.rb
2.02 KB
Rename
Delete
ftp.rb
7.08 KB
Rename
Delete
generic.rb
36.23 KB
Rename
Delete
http.rb
2.40 KB
Rename
Delete
https.rb
619 bytes
Rename
Delete
ldap.rb
5.83 KB
Rename
Delete
ldaps.rb
506 bytes
Rename
Delete
mailto.rb
7.88 KB
Rename
Delete
rfc2396_parser.rb
17.40 KB
Rename
Delete
rfc3986_parser.rb
6.21 KB
Rename
Delete
# frozen_string_literal: false # = uri/http.rb # # Author:: Akira Yamada <akira@ruby-lang.org> # License:: You can redistribute it and/or modify it under the same term as Ruby. # Revision:: $Id: http.rb 65505 2018-11-02 17:52:33Z marcandre $ # # See URI for general documentation # require_relative 'generic' module URI # # The syntax of HTTP URIs is defined in RFC1738 section 3.3. # # Note that the Ruby URI library allows HTTP URLs containing usernames and # passwords. This is not legal as per the RFC, but used to be # supported in Internet Explorer 5 and 6, before the MS04-004 security # update. See <URL:http://support.microsoft.com/kb/834489>. # class HTTP < Generic # A Default port of 80 for URI::HTTP. DEFAULT_PORT = 80 # An Array of the available components for URI::HTTP. COMPONENT = %i[ scheme userinfo host port path query fragment ].freeze # # == Description # # Creates a new URI::HTTP object from components, with syntax checking. # # The components accepted are userinfo, host, port, path, query, and # fragment. # # The components should be provided either as an Array, or as a Hash # with keys formed by preceding the component names with a colon. # # If an Array is used, the components must be passed in the # order <code>[userinfo, host, port, path, query, fragment]</code>. # # Example: # # uri = URI::HTTP.build(host: 'www.example.com', path: '/foo/bar') # # uri = URI::HTTP.build([nil, "www.example.com", nil, "/path", # "query", 'fragment']) # # Currently, if passed userinfo components this method generates # invalid HTTP URIs as per RFC 1738. # def self.build(args) tmp = Util.make_components_hash(self, args) super(tmp) end # # == Description # # Returns the full path for an HTTP request, as required by Net::HTTP::Get. # # If the URI contains a query, the full path is URI#path + '?' + URI#query. # Otherwise, the path is simply URI#path. # # Example: # # uri = URI::HTTP.build(path: '/foo/bar', query: 'test=true') # uri.request_uri # => "/foo/bar?test=true" # def request_uri return unless @path url = @query ? "#@path?#@query" : @path.dup url.start_with?(?/.freeze) ? url : ?/ + url end end @@schemes['HTTP'] = HTTP end
Save