Skip to content

Commit ca3494f

Browse files
author
Erik Wittern
authored
Merge pull request #19 from lagonnebula/openapi3.0_http_scheme
Support for type: http and scheme basic or bearer
2 parents 4fa9fe7 + a7ec262 commit ca3494f

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

swagger-to-har.js

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,20 +247,33 @@ var getHeadersArray = function (swagger, path, method) {
247247
}
248248
}
249249
} else if (typeof swagger.security !== 'undefined') {
250+
// Need to check OAS 3.0 spec about type http and scheme
250251
for (var m in swagger.security) {
251-
var overallSecScheme = Object.keys(swagger.security[m])[0]
252-
var overallAuthType = swagger.securityDefinitions[overallSecScheme].type.toLowerCase()
253-
switch (overallAuthType) {
252+
var secScheme = Object.keys(swagger.security[m])[0]
253+
var secDefinition = swagger.components.securitySchemes[secScheme];
254+
var authType = secDefinition.type.toLowerCase();
255+
let authScheme = secDefinition.scheme.toLowerCase();
256+
switch (authType) {
257+
case 'http':
258+
switch(authScheme){
259+
case 'bearer':
260+
oauthDef = secScheme
261+
break
262+
case 'basic':
263+
basicAuthDef = secScheme
264+
break
265+
}
266+
break
254267
case 'basic':
255-
basicAuthDef = overallSecScheme
268+
basicAuthDef = secScheme
256269
break
257270
case 'apikey':
258-
if (swagger.securityDefinitions[overallSecScheme].in === 'query') {
259-
apiKeyAuthDef = swagger.securityDefinitions[overallSecScheme]
271+
if (secDefinition.in === 'header') {
272+
apiKeyAuthDef = secDefinition
260273
}
261274
break
262275
case 'oauth2':
263-
oauthDef = overallSecScheme
276+
oauthDef = secScheme
264277
break
265278
}
266279
}

0 commit comments

Comments
 (0)