Skip to content

Commit 4ab23d7

Browse files
authored
Refactor sample apps for .NET 6 in-proc/out-of-proc (Azure#358)
1 parent 11d8d1a commit 4ab23d7

File tree

110 files changed

+1261
-2784
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+1261
-2784
lines changed

Microsoft.Azure.WebJobs.Extensions.OpenApi.sln

Lines changed: 25 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Ext
2626
EndProject
2727
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{66D8DEA8-B477-497F-95BB-E8F9A5BAC352}"
2828
EndProject
29-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.V3Net5", "samples\Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.V3Net5\Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.V3Net5.csproj", "{BDE6F761-880E-47C3-B40C-956F470E3D10}"
29+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc", "samples\Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc\Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.csproj", "{7FD0AC53-E04D-41C6-9633-924A0D98A114}"
3030
EndProject
31-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Interfaces", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Interfaces\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Interfaces.csproj", "{F1438954-24F5-4D41-AFEA-46D9E1E74C72}"
31+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Ping", "samples\Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Ping\Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Ping.csproj", "{1E7232C2-8560-4030-9B5D-AD88A1680F62}"
3232
EndProject
33-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models.csproj", "{6ABA1666-BC42-487F-B156-3DC79347BD6B}"
33+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.InProc", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.InProc\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.InProc.csproj", "{A501B346-5613-4EBA-ADC4-88BA38FA322A}"
3434
EndProject
35-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models.PetStore", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models.PetStore\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models.PetStore.csproj", "{0FBF046E-7B17-410C-8219-8381D07726DF}"
36-
EndProject
37-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Services", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Services\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Services.csproj", "{B7CF1C77-FE6F-4586-93FE-801671A5EAFD}"
38-
EndProject
39-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V1Proxy", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V1Proxy\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V1Proxy.csproj", "{98223494-E0A8-4C07-A38F-84CA2060031D}"
40-
EndProject
41-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V3Static", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V3Static\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V3Static.csproj", "{C2996131-C3CA-4D3D-8357-C533849792E1}"
42-
EndProject
43-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V3IoC", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V3IoC\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V3IoC.csproj", "{8460A7F9-FED4-4495-A595-8C585FC7F606}"
35+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models", "samples\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models\Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.Models.csproj", "{E2CF25F0-6BD1-459D-8067-E7826D96E8C4}"
4436
EndProject
4537
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{8B62E3FB-9062-4716-803A-1FA51FCE68BC}"
4638
EndProject
@@ -90,38 +82,22 @@ Global
9082
{7AD094AA-01D6-4644-B9B6-E555A029D6D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
9183
{7AD094AA-01D6-4644-B9B6-E555A029D6D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
9284
{7AD094AA-01D6-4644-B9B6-E555A029D6D7}.Release|Any CPU.Build.0 = Release|Any CPU
93-
{BDE6F761-880E-47C3-B40C-956F470E3D10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
94-
{BDE6F761-880E-47C3-B40C-956F470E3D10}.Debug|Any CPU.Build.0 = Debug|Any CPU
95-
{BDE6F761-880E-47C3-B40C-956F470E3D10}.Release|Any CPU.ActiveCfg = Release|Any CPU
96-
{BDE6F761-880E-47C3-B40C-956F470E3D10}.Release|Any CPU.Build.0 = Release|Any CPU
97-
{F1438954-24F5-4D41-AFEA-46D9E1E74C72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
98-
{F1438954-24F5-4D41-AFEA-46D9E1E74C72}.Debug|Any CPU.Build.0 = Debug|Any CPU
99-
{F1438954-24F5-4D41-AFEA-46D9E1E74C72}.Release|Any CPU.ActiveCfg = Release|Any CPU
100-
{F1438954-24F5-4D41-AFEA-46D9E1E74C72}.Release|Any CPU.Build.0 = Release|Any CPU
101-
{6ABA1666-BC42-487F-B156-3DC79347BD6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
102-
{6ABA1666-BC42-487F-B156-3DC79347BD6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
103-
{6ABA1666-BC42-487F-B156-3DC79347BD6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
104-
{6ABA1666-BC42-487F-B156-3DC79347BD6B}.Release|Any CPU.Build.0 = Release|Any CPU
105-
{0FBF046E-7B17-410C-8219-8381D07726DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
106-
{0FBF046E-7B17-410C-8219-8381D07726DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
107-
{0FBF046E-7B17-410C-8219-8381D07726DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
108-
{0FBF046E-7B17-410C-8219-8381D07726DF}.Release|Any CPU.Build.0 = Release|Any CPU
109-
{B7CF1C77-FE6F-4586-93FE-801671A5EAFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
110-
{B7CF1C77-FE6F-4586-93FE-801671A5EAFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
111-
{B7CF1C77-FE6F-4586-93FE-801671A5EAFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
112-
{B7CF1C77-FE6F-4586-93FE-801671A5EAFD}.Release|Any CPU.Build.0 = Release|Any CPU
113-
{98223494-E0A8-4C07-A38F-84CA2060031D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
114-
{98223494-E0A8-4C07-A38F-84CA2060031D}.Debug|Any CPU.Build.0 = Debug|Any CPU
115-
{98223494-E0A8-4C07-A38F-84CA2060031D}.Release|Any CPU.ActiveCfg = Release|Any CPU
116-
{98223494-E0A8-4C07-A38F-84CA2060031D}.Release|Any CPU.Build.0 = Release|Any CPU
117-
{C2996131-C3CA-4D3D-8357-C533849792E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
118-
{C2996131-C3CA-4D3D-8357-C533849792E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
119-
{C2996131-C3CA-4D3D-8357-C533849792E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
120-
{C2996131-C3CA-4D3D-8357-C533849792E1}.Release|Any CPU.Build.0 = Release|Any CPU
121-
{8460A7F9-FED4-4495-A595-8C585FC7F606}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
122-
{8460A7F9-FED4-4495-A595-8C585FC7F606}.Debug|Any CPU.Build.0 = Debug|Any CPU
123-
{8460A7F9-FED4-4495-A595-8C585FC7F606}.Release|Any CPU.ActiveCfg = Release|Any CPU
124-
{8460A7F9-FED4-4495-A595-8C585FC7F606}.Release|Any CPU.Build.0 = Release|Any CPU
85+
{7FD0AC53-E04D-41C6-9633-924A0D98A114}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
86+
{7FD0AC53-E04D-41C6-9633-924A0D98A114}.Debug|Any CPU.Build.0 = Debug|Any CPU
87+
{7FD0AC53-E04D-41C6-9633-924A0D98A114}.Release|Any CPU.ActiveCfg = Release|Any CPU
88+
{7FD0AC53-E04D-41C6-9633-924A0D98A114}.Release|Any CPU.Build.0 = Release|Any CPU
89+
{1E7232C2-8560-4030-9B5D-AD88A1680F62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
90+
{1E7232C2-8560-4030-9B5D-AD88A1680F62}.Debug|Any CPU.Build.0 = Debug|Any CPU
91+
{1E7232C2-8560-4030-9B5D-AD88A1680F62}.Release|Any CPU.ActiveCfg = Release|Any CPU
92+
{1E7232C2-8560-4030-9B5D-AD88A1680F62}.Release|Any CPU.Build.0 = Release|Any CPU
93+
{A501B346-5613-4EBA-ADC4-88BA38FA322A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
94+
{A501B346-5613-4EBA-ADC4-88BA38FA322A}.Debug|Any CPU.Build.0 = Debug|Any CPU
95+
{A501B346-5613-4EBA-ADC4-88BA38FA322A}.Release|Any CPU.ActiveCfg = Release|Any CPU
96+
{A501B346-5613-4EBA-ADC4-88BA38FA322A}.Release|Any CPU.Build.0 = Release|Any CPU
97+
{E2CF25F0-6BD1-459D-8067-E7826D96E8C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
98+
{E2CF25F0-6BD1-459D-8067-E7826D96E8C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
99+
{E2CF25F0-6BD1-459D-8067-E7826D96E8C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
100+
{E2CF25F0-6BD1-459D-8067-E7826D96E8C4}.Release|Any CPU.Build.0 = Release|Any CPU
125101
{B6C398B2-6F74-4E50-A49F-F36B9825F45E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
126102
{B6C398B2-6F74-4E50-A49F-F36B9825F45E}.Debug|Any CPU.Build.0 = Debug|Any CPU
127103
{B6C398B2-6F74-4E50-A49F-F36B9825F45E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -169,21 +145,18 @@ Global
169145
{D405655F-C8BE-4134-893C-ADB4918B0624} = {810145E0-41CF-4E24-BD9C-E7517498BA29}
170146
{7AD094AA-01D6-4644-B9B6-E555A029D6D7} = {810145E0-41CF-4E24-BD9C-E7517498BA29}
171147
{66D8DEA8-B477-497F-95BB-E8F9A5BAC352} = {810145E0-41CF-4E24-BD9C-E7517498BA29}
172-
{BDE6F761-880E-47C3-B40C-956F470E3D10} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
173-
{F1438954-24F5-4D41-AFEA-46D9E1E74C72} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
174-
{6ABA1666-BC42-487F-B156-3DC79347BD6B} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
175-
{0FBF046E-7B17-410C-8219-8381D07726DF} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
176-
{B7CF1C77-FE6F-4586-93FE-801671A5EAFD} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
177-
{98223494-E0A8-4C07-A38F-84CA2060031D} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
178-
{C2996131-C3CA-4D3D-8357-C533849792E1} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
179-
{8460A7F9-FED4-4495-A595-8C585FC7F606} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
148+
{7FD0AC53-E04D-41C6-9633-924A0D98A114} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
149+
{1E7232C2-8560-4030-9B5D-AD88A1680F62} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
150+
{A501B346-5613-4EBA-ADC4-88BA38FA322A} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
151+
{E2CF25F0-6BD1-459D-8067-E7826D96E8C4} = {66D8DEA8-B477-497F-95BB-E8F9A5BAC352}
180152
{B6C398B2-6F74-4E50-A49F-F36B9825F45E} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
181153
{AC89B7CF-0FA5-49EE-97A8-AB39A5F211A8} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
182154
{AEF35BD6-EA9A-4159-86F4-49AF7D17A9A8} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
183155
{1D1A5ED5-A1A1-4082-ACAF-30079AF31AC6} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
184156
{968CD847-80D0-4740-92D5-F5553461EC04} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
185157
{D787694D-B87B-4E11-9455-B5BF9306D8FC} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
186158
{65AED6F0-D27E-4D6E-BA42-AD6EE1338082} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
159+
{CBD9883B-134F-42CC-A201-EE06EBC48C3E} = {8B62E3FB-9062-4716-803A-1FA51FCE68BC}
187160
{7F6EC289-B516-455E-8E5F-324D5C9212B7} = {CBD9883B-134F-42CC-A201-EE06EBC48C3E}
188161
{8324C8D1-A9FD-4F98-8ED9-82C3BE572DBB} = {CBD9883B-134F-42CC-A201-EE06EBC48C3E}
189162
EndGlobalSection
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
8+
<AssemblyName>Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Ping</AssemblyName>
9+
<RootNamespace>Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Ping</RootNamespace>
10+
</PropertyGroup>
11+
12+
<!-- Uncomment this block if you want to use NuGet package from https://nuget.org -->
13+
<!--<ItemGroup>
14+
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.OpenApi" Version="1.1.0" />
15+
</ItemGroup>-->
16+
<!-- Uncomment this block if you want to use NuGet package from https://nuget.org -->
17+
18+
<!-- Comment this block if you want to use NuGet package from https://nuget.org -->
19+
<ItemGroup>
20+
<ProjectReference Include="..\..\src\Microsoft.Azure.Functions.Worker.Extensions.OpenApi\Microsoft.Azure.Functions.Worker.Extensions.OpenApi.csproj" />
21+
</ItemGroup>
22+
<!-- Comment this block if you want to use NuGet package from https://nuget.org -->
23+
24+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using Microsoft.Azure.Functions.Worker.Http;
2+
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Attributes;
3+
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Enums;
4+
using Microsoft.Extensions.Logging;
5+
using Microsoft.OpenApi.Models;
6+
7+
using System.Net;
8+
9+
namespace Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Ping
10+
{
11+
public class PingHttpTrigger
12+
{
13+
private readonly ILogger<PingHttpTrigger> _logger;
14+
15+
public PingHttpTrigger(ILogger<PingHttpTrigger> log)
16+
{
17+
_logger = log;
18+
}
19+
20+
[Function(nameof(PingHttpTrigger.Ping))]
21+
[OpenApiOperation(operationId: "ping", tags: new[] { "ping" }, Summary = "Pings for health check", Description = "This pings for health check.", Visibility = OpenApiVisibilityType.Important)]
22+
[OpenApiResponseWithoutBody(statusCode: HttpStatusCode.OK, Summary = "Successful operation", Description = "Successful operation")]
23+
public async Task<HttpResponseData> Ping(
24+
[HttpTrigger(AuthorizationLevel.Anonymous, "GET", Route = "ping")] HttpRequestData req)
25+
{
26+
var response = req.CreateResponse(HttpStatusCode.OK);
27+
28+
return await Task.FromResult(response).ConfigureAwait(false);
29+
}
30+
}
31+
}

samples/Microsoft.Azure.WebJobs.Extensions.OpenApi.FunctionApp.V3IoC/.gitignore renamed to samples/Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc/.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## files generated by popular Visual Studio add-ons.
33

44
# Azure Functions localsettings file
5-
#local.settings.json
5+
# local.settings.json
66

77
# User-specific files
88
*.suo
@@ -262,5 +262,3 @@ paket-files/
262262
# Python Tools for Visual Studio (PTVS)
263263
__pycache__/
264264
*.pyc
265-
266-
OpenApi/
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
using System;
2-
3-
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Configurations;
4-
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Enums;
5-
using Microsoft.OpenApi.Models;
6-
7-
namespace Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.V3Net5.Configurations
8-
{
9-
public class OpenApiConfigurationOptions : DefaultOpenApiConfigurationOptions
10-
{
11-
public override OpenApiInfo Info { get; set; } = new OpenApiInfo()
12-
{
13-
Version = "3.0.0",
14-
Title = "OpenAPI Sample on Azure Functions on Isolated Worker",
15-
Description = "A sample API that runs on Azure Functions using OpenAPI specification, running on the isolated worker environment.",
16-
TermsOfService = new Uri("https://github.com/Azure/azure-functions-openapi-extension"),
17-
Contact = new OpenApiContact()
18-
{
19-
Name = "Contoso",
20-
Email = "azfunc-openapi@contoso.com",
21-
Url = new Uri("https://github.com/Azure/azure-functions-openapi-extension/issues"),
22-
},
23-
License = new OpenApiLicense()
24-
{
25-
Name = "MIT",
26-
Url = new Uri("http://opensource.org/licenses/MIT"),
27-
}
28-
};
29-
30-
public override OpenApiVersionType OpenApiVersion { get; set; } = OpenApiVersionType.V3;
31-
}
32-
}
1+
using System;
2+
3+
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Configurations;
4+
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Enums;
5+
using Microsoft.OpenApi.Models;
6+
7+
namespace Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Configurations
8+
{
9+
public class OpenApiConfigurationOptions : DefaultOpenApiConfigurationOptions
10+
{
11+
public override OpenApiInfo Info { get; set; } = new OpenApiInfo()
12+
{
13+
Version = GetOpenApiDocVersion(),
14+
Title = GetOpenApiDocTitle(),
15+
Description = "This is a sample server Petstore API designed by [http://swagger.io](http://swagger.io).",
16+
TermsOfService = new Uri("https://github.com/Azure/azure-functions-openapi-extension"),
17+
Contact = new OpenApiContact()
18+
{
19+
Name = "Enquiry",
20+
Email = "azfunc-openapi@microsoft.com",
21+
Url = new Uri("https://github.com/Azure/azure-functions-openapi-extension/issues"),
22+
},
23+
License = new OpenApiLicense()
24+
{
25+
Name = "MIT",
26+
Url = new Uri("http://opensource.org/licenses/MIT"),
27+
}
28+
};
29+
30+
public override OpenApiVersionType OpenApiVersion { get; set; } = GetOpenApiVersion();
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System.Collections.Generic;
2+
3+
using Microsoft.Azure.WebJobs.Extensions.OpenApi.Core.Abstractions;
4+
using Microsoft.OpenApi.Models;
5+
6+
namespace Microsoft.Azure.Functions.Worker.Extensions.OpenApi.FunctionApp.OutOfProc.Headers
7+
{
8+
public class LoginUserResponseHeader : IOpenApiCustomResponseHeader
9+
{
10+
public Dictionary<string, OpenApiHeader> Headers { get; set; } = new Dictionary<string, OpenApiHeader>()
11+
{
12+
{ "X-Rate-Limit", new OpenApiHeader()
13+
{
14+
Description = "calls per hour allowed by the user",
15+
Schema = new OpenApiSchema()
16+
{
17+
Type = "integer",
18+
Format = "int32"
19+
}
20+
}
21+
},
22+
{ "X-Expires-After", new OpenApiHeader()
23+
{
24+
Description = "date in UTC when token expires",
25+
Schema = new OpenApiSchema()
26+
{
27+
Type = "string",
28+
Format = "date-time"
29+
}
30+
}
31+
},
32+
};
33+
}
34+
}

0 commit comments

Comments
 (0)