Class: XriResolver::URIAuthorityResolver
- Inherits:
-
AuthorityResolver
- Object
- AuthorityResolver
- XriResolver::URIAuthorityResolver
- Defined in:
- lib/xri_resolver.rb
Instance Attribute Summary
Attributes inherited from AuthorityResolver
#client, #req, #resolved, #status_code, #xrd_array, #xri
Instance Method Summary collapse
-
#initialize(xri, req, uri, stack) ⇒ URIAuthorityResolver
constructor
A new instance of URIAuthorityResolver.
- #resolved_successfully? ⇒ Boolean
- #to_s ⇒ Object
- #to_xrds ⇒ Object
Methods inherited from AuthorityResolver
#doappend, #last_xrd, #last_xrd_doc, #last_xrd_to_pretty, #last_xrd_to_s, resolve, #to_pretty, #to_urilist
Constructor Details
#initialize(xri, req, uri, stack) ⇒ URIAuthorityResolver
Returns a new instance of URIAuthorityResolver.
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 |
# File 'lib/xri_resolver.rb', line 1097 def initialize(xri, req, uri, stack) if uri = (URI.parse(uri) rescue nil) and %w{http https}.include?(uri.scheme) @xri = xri @req = req @uri = uri @stack = stack || Array.new @client = HTTPClient.new uriget = fetch_uri(uri) urixml = uriget.content.unpack("C*").pack("U*") uridoc = REXML::Document.new(urixml).root @xrd_array = REXML::XPath.match(uridoc, "*", XRDNS) serverstatus! completeuris! canonical! references! redirects! services! end end |
Instance Method Details
#resolved_successfully? ⇒ Boolean
1130 1131 1132 |
# File 'lib/xri_resolver.rb', line 1130 def resolved_successfully? true end |
#to_s ⇒ Object
1118 1119 1120 |
# File 'lib/xri_resolver.rb', line 1118 def to_s self.to_xrds.to_s end |
#to_xrds ⇒ Object
1122 1123 1124 1125 1126 1127 1128 |
# File 'lib/xri_resolver.rb', line 1122 def to_xrds xrds = REXML::Element.new('XRDS') xrds.add_namespace('xri://$xrds') xrds.add_attribute('redirect', @uri) @xrd_array.each { |ele| xrds << ele } xrds end |