Class: Aranha::Parsers::Firefox::RequestHeaderFromFirefox
- Inherits:
-
Object
- Object
- Aranha::Parsers::Firefox::RequestHeaderFromFirefox
- Defined in:
- lib/aranha/parsers/firefox/request_header_from_firefox.rb
Constant Summary collapse
- FIRST_LINE_PARSER =
/\A(\S+)\s(\S+)\s(\S+)\z/.to_parser do |m| { verb: m[1], uri: m[2], version: m[3] } end
- HEADER_LINE_PARSER =
/\A([^:]+):\s+(.+)\z/.to_parser do |m| m[1..2] end
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.from_file(path) ⇒ Object
8 9 10 |
# File 'lib/aranha/parsers/firefox/request_header_from_firefox.rb', line 8 def from_file(path) new(path.to_pathname.read) end |
Instance Method Details
#headers ⇒ Object
29 30 31 |
# File 'lib/aranha/parsers/firefox/request_header_from_firefox.rb', line 29 def headers all_except_first_line.map { |line| HEADER_LINE_PARSER.parse!(line) }.to_h # rubocop:disable Style/MapToHash end |
#to_h ⇒ Object
25 26 27 |
# File 'lib/aranha/parsers/firefox/request_header_from_firefox.rb', line 25 def to_h %w[verb uri headers].index_with { |m| send(m) } end |
#uri ⇒ Object
37 38 39 |
# File 'lib/aranha/parsers/firefox/request_header_from_firefox.rb', line 37 def uri parsed_first_line.fetch(:uri) end |
#verb ⇒ Object
33 34 35 |
# File 'lib/aranha/parsers/firefox/request_header_from_firefox.rb', line 33 def verb parsed_first_line.fetch(:verb) end |