Class: QReplay::HttpExtractor

Inherits:
Object
  • Object
show all
Defined in:
lib/qreplay/httpextractor.rb

Instance Method Summary collapse

Instance Method Details

#finalizeObject



39
40
# File 'lib/qreplay/httpextractor.rb', line 39

def finalize
end

#process_stream(stream) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/qreplay/httpextractor.rb', line 10

def process_stream stream
  calls = []
  i = 0
  last_req = nil
  req = nil

  while i + 1 < stream[:data].size
    if last_req
      req = parse_request(last_req, stream[:data][i][:data])
      last_req = nil
      req['Expect'] = nil
    else
      req = parse_request(stream[:data][i])
    end

    resp = parse_response(stream[:data][i + 1])

    if req && req['Expect'] && req['Expect'].strip == '100-continue'
      last_req = stream[:data][i]
    elsif !req.nil? && !resp.nil?
      calls << [stream[:index], req, resp]
    end

    i += 2
  end

  calls
end