Method: Addressable::URI#origin=
- Defined in:
- lib/addressable/uri.rb
#origin=(new_origin) ⇒ Object
Sets the origin for this URI, serialized to ASCII, as per RFC 6454, section 6.2. This assignment will reset the ‘userinfo` component.
1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 |
# File 'lib/addressable/uri.rb', line 1333 def origin=(new_origin) if new_origin if !new_origin.respond_to?(:to_str) raise TypeError, "Can't convert #{new_origin.class} into String." end new_origin = new_origin.to_str new_scheme = new_origin[/^([^:\/?#]+):\/\//, 1] unless new_scheme raise InvalidURIError, 'An origin cannot omit the scheme.' end new_host = new_origin[/:\/\/([^\/?#:]+)/, 1] unless new_host raise InvalidURIError, 'An origin cannot omit the host.' end new_port = new_origin[/:([^:@\[\]\/]*?)$/, 1] end self.scheme = new_scheme self.host = new_host self.port = new_port self.userinfo = nil # Reset dependent values @userinfo = nil @normalized_userinfo = NONE = nil = nil remove_composite_values # Ensure we haven't created an invalid URI validate() end |