Sha256: 1776ac3e1ff5ed6373046d72b6ad0dd4d34b5f21a3a3a78040dbfeac4a612376
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
module HTTP class Parser VERSION = '1.0.1'.freeze TYPE_REQUEST = 0 TYPE_RESPONSE = 1 TYPE_BOTH = 2 CALLBACKS = %w( on_body on_header_field on_header_value on_headers_complete on_message_begin on_message_complete on_status_complete on_url ) CALLBACKS.each do |name| define_method(name) do |&block| raise ArgumentError, "block expected" unless block @callbacks[name.to_sym] = block end end attr_reader :type def initialize type = TYPE_BOTH @callbacks = {} reset(type) end def reset value = nil if value raise ArgumentError, "Invalid parser type #{value}" unless [0, 1, 2].include?(value) @type = value end reset!(@type) end end end if RUBY_PLATFORM =~ /java/ require_relative '../ext/vendor/http-parser.jar' require 'http-parser.jar' require 'ruby_http_parser' else begin require_relative 'http_parser' rescue LoadError require 'http-parser/http_parser' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
http-parser-lite-1.0.1 | lib/http-parser.rb |