Skip to content

Commit e731568

Browse files
Do not explore unversioned endpoint more than one. Fixes #917
1 parent e197e8c commit e731568

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/AspNetCore/WebApi/src/Asp.Versioning.Mvc.ApiExplorer/VersionedApiDescriptionProvider.cs

+9-4
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public virtual void OnProvidersExecuted( ApiDescriptionProviderContext context )
123123
}
124124

125125
var groupResults = new List<ApiDescription>( capacity: results.Count );
126-
var unversioned = default( List<ApiDescription> );
126+
var unversioned = default( Dictionary<int, ApiDescription> );
127127
var formatGroupName = Options.FormatGroupName;
128128

129129
foreach ( var version in FlattenApiVersions( results ) )
@@ -132,6 +132,11 @@ public virtual void OnProvidersExecuted( ApiDescriptionProviderContext context )
132132

133133
for ( var i = 0; i < results.Count; i++ )
134134
{
135+
if ( unversioned != null && unversioned.ContainsKey( i ) )
136+
{
137+
continue;
138+
}
139+
135140
var result = results[i];
136141
var action = result.ActionDescriptor;
137142

@@ -140,7 +145,7 @@ public virtual void OnProvidersExecuted( ApiDescriptionProviderContext context )
140145
if ( IsUnversioned( action ) )
141146
{
142147
unversioned ??= new();
143-
unversioned.Add( result );
148+
unversioned.Add( i, result );
144149
}
145150

146151
continue;
@@ -183,9 +188,9 @@ public virtual void OnProvidersExecuted( ApiDescriptionProviderContext context )
183188
return;
184189
}
185190

186-
for ( var i = 0; i < unversioned.Count; i++ )
191+
foreach ( var result in unversioned.Values )
187192
{
188-
results.Add( unversioned[i] );
193+
results.Add( result );
189194
}
190195
}
191196

0 commit comments

Comments
 (0)