Sha256: ba44ce43ba7717b999967209ebb96932f40c2680ab1e9b95215a9d0926c827f0
Contents?: true
Size: 936 Bytes
Versions: 2
Compression:
Stored size: 936 Bytes
Contents
module IndieWeb module Endpoints module Services class ResponseParserService # @param body [Nokogiri::HTML::Document] # @param identifier [Symbol] # @return [Array<String>] def self.parse_body(body, identifier, node = 'link') # Reject endpoints that contain a fragment identifier body.css(%(#{node}[rel~="#{identifier}"][href]:not([href*="#"]))).map { |element| element['href'] } end # @param headers [Hash{Symbol => Array<LinkHeaderParser::LinkHeader}] # @param identifier [Symbol] # @return [Array<String>, nil] def self.parse_headers(headers, identifier) return unless headers.key?(identifier) # Reject endpoints that contain a fragment identifier headers[identifier].reject { |header| Addressable::URI.parse(header.target_uri).fragment }.map(&:target_uri) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
indieweb-endpoints-6.1.0 | lib/indieweb/endpoints/services/response_parser_service.rb |
indieweb-endpoints-6.0.0 | lib/indieweb/endpoints/services/response_parser_service.rb |