Skip to content

Commit 2e1f9d4

Browse files
Updates the OpenApiSpecGeneratorPlugin to ignore OPTIONS requests by default. Closes #752 (#753)
1 parent 78aed68 commit 2e1f9d4

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

dev-proxy-plugins/RequestLogs/OpenApiSpecGeneratorPlugin.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ public void Write(IOpenApiWriter writer, OpenApiSpecVersion specVersion)
4141
}
4242
}
4343

44+
internal class OpenApiSpecGeneratorPluginConfiguration
45+
{
46+
public bool IncludeOptionsRequests { get; set; } = false;
47+
}
48+
4449
public class OpenApiSpecGeneratorPlugin : BaseReportingPlugin
4550
{
4651
// from: https://github.com/jonluca/har-to-openapi/blob/0d44409162c0a127cdaccd60b0a270ecd361b829/src/utils/headers.ts
@@ -281,13 +286,15 @@ public OpenApiSpecGeneratorPlugin(IPluginEvents pluginEvents, IProxyContext cont
281286
}
282287

283288
public override string Name => nameof(OpenApiSpecGeneratorPlugin);
289+
private OpenApiSpecGeneratorPluginConfiguration _configuration = new();
284290
public static readonly string GeneratedOpenApiSpecsKey = "GeneratedOpenApiSpecs";
285291

286-
287292
public override void Register()
288293
{
289294
base.Register();
290295

296+
ConfigSection?.Bind(_configuration);
297+
291298
PluginEvents.AfterRecordingStop += AfterRecordingStop;
292299
}
293300

@@ -312,6 +319,13 @@ request.Context is null ||
312319
continue;
313320
}
314321

322+
if (!_configuration.IncludeOptionsRequests &&
323+
request.Context.Session.HttpClient.Request.Method.ToUpperInvariant() == "OPTIONS")
324+
{
325+
Logger.LogDebug("Skipping OPTIONS request {url}...", request.Context.Session.HttpClient.Request.RequestUri);
326+
continue;
327+
}
328+
315329
var methodAndUrlString = request.MessageLines.First();
316330
Logger.LogDebug("Processing request {methodAndUrlString}...", methodAndUrlString);
317331

0 commit comments

Comments
 (0)