class HttpParser::Parser::DataCallback
def self.new(&block)
def self.new(&block) super(:int, [::HttpParser::Instance.ptr, :pointer, :size_t]) do |parser, buffer, length| begin data = buffer.get_bytes(0, length) catch(:return) { yield(parser, data); 0 } rescue -1 end end end