Skip to content
This repository was archived by the owner on Nov 8, 2024. It is now read-only.

Commit 90c6e9d

Browse files
author
Paulo Silva
committed
Merge branch 'feature-protocol-version'
2 parents f68d006 + ebb15b9 commit 90c6e9d

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

src/parser.coffee

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ parseResponse = (responseString) ->
2323
lines = responseString.split('\r\n')
2424

2525
parsedStatusLine = parseStatusLine lines.shift()
26+
response['protocolVersion'] = parsedStatusLine['protocol']
2627
response['statusCode'] = parsedStatusLine['statusCode']
2728
response['statusMessage'] = parsedStatusLine['statusMessage']
2829

test/integration/curl-trace-parser-test.coffee

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,23 @@ curl = require 'curl-trace-parser'
77
describe "Parse output from curl trace parser", () ->
88
traceFilePath = "./test/fixtures/post/tracefile"
99
parsedCurlStrings = {}
10-
10+
1111

1212
before (done) ->
1313
fs.readFile traceFilePath, 'utf8', (err, trace) ->
1414
done err if err
1515
parsedCurlStrings = curl.parse trace
1616
done()
17-
17+
1818
describe "request", () ->
1919
request = {}
20-
20+
2121
before () ->
2222
request = parser.parseRequest parsedCurlStrings['request']
23-
23+
2424
it "should parse string to expected object", () ->
2525
expectedObject =
26-
headers:
26+
headers:
2727
'User-Agent': 'curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8x zlib/1.2.5'
2828
'Host': 'curltraceparser.apiary.io'
2929
'Accept':'*/*'
@@ -32,20 +32,21 @@ describe "Parse output from curl trace parser", () ->
3232
body: '{ \"product\":\"1AB23ORM\", \"quantity\": 2 }'
3333
method: 'POST'
3434
uri: '/shopping-cart'
35-
36-
assert.deepEqual request, expectedObject
37-
35+
36+
assert.deepEqual request, expectedObject
37+
3838
describe "response", () ->
3939
response = {}
40-
40+
4141
before () ->
4242
response = parser.parseResponse parsedCurlStrings['response']
43-
43+
4444
it "should parse string to expected object", () ->
4545
expectedObject =
46+
protocolVersion: "HTTP/1.1"
4647
statusCode: "201"
4748
statusMessage: "Created"
48-
headers:
49+
headers:
4950
'Content-Type': 'application/json'
5051
'Content-Length': '39'
5152
'Date': 'Sun, 21 Jul 2013 14:51:09 GMT'
@@ -56,6 +57,3 @@ describe "Parse output from curl trace parser", () ->
5657
body: '{ "status": "created", "url": "/shopping-cart/2" }'
5758

5859
assert.deepEqual response, expectedObject
59-
60-
61-

test/unit/parser-test.coffee

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,10 +175,19 @@ describe "parser module", () ->
175175
before () ->
176176
output = parser.parseResponse(responseString)
177177

178-
['statusCode', 'statusMessage', 'headers', 'body'].forEach (key) ->
178+
['protocolVersion', 'statusCode', 'statusMessage', 'headers', 'body'].forEach (key) ->
179179
it 'should have key "'+ key + '"', () ->
180180
assert.include Object.keys(output), key
181181

182+
describe "protocolVersion", () ->
183+
subject = ""
184+
185+
before () ->
186+
subject = output['protocolVersion']
187+
188+
it 'should contain "HTTP/1.1"', () ->
189+
assert.equal subject, "HTTP/1.1"
190+
182191
describe "statusCode", () ->
183192
subject = ""
184193

0 commit comments

Comments
 (0)