Skip to content

Commit 2c973cb

Browse files
committed
Removed \r from files
1 parent 8239f58 commit 2c973cb

File tree

7 files changed

+441
-441
lines changed

7 files changed

+441
-441
lines changed
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
FROM mcr.microsoft.com/dotnet/core/sdk:{{aspNetCoreVersion}} AS build-env
2-
WORKDIR /app
3-
4-
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
5-
6-
# copy csproj and restore as distinct layers
7-
COPY *.csproj ./
8-
RUN dotnet restore
9-
10-
# copy everything else and build
11-
COPY . ./
12-
RUN dotnet publish -c Release -o out
13-
14-
# build runtime image
15-
FROM mcr.microsoft.com/dotnet/core/aspnet:{{aspNetCoreVersion}}
16-
WORKDIR /app
17-
COPY --from=build-env /app/out .
18-
ENTRYPOINT ["dotnet", "{{packageName}}.dll"]
1+
FROM mcr.microsoft.com/dotnet/core/sdk:{{aspNetCoreVersion}} AS build-env
2+
WORKDIR /app
3+
4+
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
5+
6+
# copy csproj and restore as distinct layers
7+
COPY *.csproj ./
8+
RUN dotnet restore
9+
10+
# copy everything else and build
11+
COPY . ./
12+
RUN dotnet publish -c Release -o out
13+
14+
# build runtime image
15+
FROM mcr.microsoft.com/dotnet/core/aspnet:{{aspNetCoreVersion}}
16+
WORKDIR /app
17+
COPY --from=build-env /app/out .
18+
ENTRYPOINT ["dotnet", "{{packageName}}.dll"]
Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,51 @@
1-
using System.Linq;
2-
using System.Text.RegularExpressions;
3-
using Swashbuckle.AspNetCore.Swagger;
4-
using Swashbuckle.AspNetCore.SwaggerGen;
5-
using Microsoft.OpenApi.Models;
6-
7-
namespace {{packageName}}.Filters
8-
{
9-
/// <summary>
10-
/// BasePath Document Filter sets BasePath property of Swagger and removes it from the individual URL paths
11-
/// </summary>
12-
public class BasePathFilter : IDocumentFilter
13-
{
14-
/// <summary>
15-
/// Constructor
16-
/// </summary>
17-
/// <param name="basePath">BasePath to remove from Operations</param>
18-
public BasePathFilter(string basePath)
19-
{
20-
BasePath = basePath;
21-
}
22-
23-
/// <summary>
24-
/// Gets the BasePath of the Swagger Doc
25-
/// </summary>
26-
/// <returns>The BasePath of the Swagger Doc</returns>
27-
public string BasePath { get; }
28-
29-
/// <summary>
30-
/// Apply the filter
31-
/// </summary>
32-
/// <param name="swaggerDoc">OpenApiDocument</param>
33-
/// <param name="context">FilterContext</param>
34-
public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
35-
{
36-
swaggerDoc.Servers.Add(new OpenApiServer() { Url = this.BasePath });
37-
38-
var pathsToModify = swaggerDoc.Paths.Where(p => p.Key.StartsWith(this.BasePath)).ToList();
39-
40-
foreach (var path in pathsToModify)
41-
{
42-
if (path.Key.StartsWith(this.BasePath))
43-
{
44-
string newKey = Regex.Replace(path.Key, $"^{this.BasePath}", string.Empty);
45-
swaggerDoc.Paths.Remove(path.Key);
46-
swaggerDoc.Paths.Add(newKey, path.Value);
47-
}
48-
}
49-
}
50-
}
51-
}
1+
using System.Linq;
2+
using System.Text.RegularExpressions;
3+
using Swashbuckle.AspNetCore.Swagger;
4+
using Swashbuckle.AspNetCore.SwaggerGen;
5+
using Microsoft.OpenApi.Models;
6+
7+
namespace {{packageName}}.Filters
8+
{
9+
/// <summary>
10+
/// BasePath Document Filter sets BasePath property of Swagger and removes it from the individual URL paths
11+
/// </summary>
12+
public class BasePathFilter : IDocumentFilter
13+
{
14+
/// <summary>
15+
/// Constructor
16+
/// </summary>
17+
/// <param name="basePath">BasePath to remove from Operations</param>
18+
public BasePathFilter(string basePath)
19+
{
20+
BasePath = basePath;
21+
}
22+
23+
/// <summary>
24+
/// Gets the BasePath of the Swagger Doc
25+
/// </summary>
26+
/// <returns>The BasePath of the Swagger Doc</returns>
27+
public string BasePath { get; }
28+
29+
/// <summary>
30+
/// Apply the filter
31+
/// </summary>
32+
/// <param name="swaggerDoc">OpenApiDocument</param>
33+
/// <param name="context">FilterContext</param>
34+
public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
35+
{
36+
swaggerDoc.Servers.Add(new OpenApiServer() { Url = this.BasePath });
37+
38+
var pathsToModify = swaggerDoc.Paths.Where(p => p.Key.StartsWith(this.BasePath)).ToList();
39+
40+
foreach (var path in pathsToModify)
41+
{
42+
if (path.Key.StartsWith(this.BasePath))
43+
{
44+
string newKey = Regex.Replace(path.Key, $"^{this.BasePath}", string.Empty);
45+
swaggerDoc.Paths.Remove(path.Key);
46+
swaggerDoc.Paths.Add(newKey, path.Value);
47+
}
48+
}
49+
}
50+
}
51+
}
Lines changed: 98 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,98 @@
1-
using System.ComponentModel.DataAnnotations;
2-
using System.Linq;
3-
using Microsoft.AspNetCore.Mvc.Controllers;
4-
using Swashbuckle.AspNetCore.Swagger;
5-
using Swashbuckle.AspNetCore.SwaggerGen;
6-
using Microsoft.OpenApi.Models;
7-
8-
namespace {{packageName}}.Filters
9-
{
10-
/// <summary>
11-
/// Path Parameter Validation Rules Filter
12-
/// </summary>
13-
public class GeneratePathParamsValidationFilter : IOperationFilter
14-
{
15-
/// <summary>
16-
/// Constructor
17-
/// </summary>
18-
/// <param name="operation">Operation</param>
19-
/// <param name="context">OperationFilterContext</param>
20-
public void Apply(OpenApiOperation operation, OperationFilterContext context)
21-
{
22-
var pars = context.ApiDescription.ParameterDescriptions;
23-
24-
foreach (var par in pars)
25-
{
26-
var swaggerParam = operation.Parameters.SingleOrDefault(p => p.Name == par.Name);
27-
28-
var attributes = ((ControllerParameterDescriptor)par.ParameterDescriptor).ParameterInfo.CustomAttributes;
29-
30-
if (attributes != null && attributes.Count() > 0 && swaggerParam != null)
31-
{
32-
// Required - [Required]
33-
var requiredAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RequiredAttribute));
34-
if (requiredAttr != null)
35-
{
36-
swaggerParam.Required = true;
37-
}
38-
39-
// Regex Pattern [RegularExpression]
40-
var regexAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RegularExpressionAttribute));
41-
if (regexAttr != null)
42-
{
43-
string regex = (string)regexAttr.ConstructorArguments[0].Value;
44-
if (swaggerParam is OpenApiParameter)
45-
{
46-
((OpenApiParameter)swaggerParam).Schema.Pattern = regex;
47-
}
48-
}
49-
50-
// String Length [StringLength]
51-
int? minLenght = null, maxLength = null;
52-
var stringLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(StringLengthAttribute));
53-
if (stringLengthAttr != null)
54-
{
55-
if (stringLengthAttr.NamedArguments.Count == 1)
56-
{
57-
minLenght = (int)stringLengthAttr.NamedArguments.Single(p => p.MemberName == "MinimumLength").TypedValue.Value;
58-
}
59-
maxLength = (int)stringLengthAttr.ConstructorArguments[0].Value;
60-
}
61-
62-
var minLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(MinLengthAttribute));
63-
if (minLengthAttr != null)
64-
{
65-
minLenght = (int)minLengthAttr.ConstructorArguments[0].Value;
66-
}
67-
68-
var maxLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(MaxLengthAttribute));
69-
if (maxLengthAttr != null)
70-
{
71-
maxLength = (int)maxLengthAttr.ConstructorArguments[0].Value;
72-
}
73-
74-
if (swaggerParam is OpenApiParameter)
75-
{
76-
((OpenApiParameter)swaggerParam).Schema.MinLength = minLenght;
77-
((OpenApiParameter)swaggerParam).Schema.MaxLength = maxLength;
78-
}
79-
80-
// Range [Range]
81-
var rangeAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RangeAttribute));
82-
if (rangeAttr != null)
83-
{
84-
int rangeMin = (int)rangeAttr.ConstructorArguments[0].Value;
85-
int rangeMax = (int)rangeAttr.ConstructorArguments[1].Value;
86-
87-
if (swaggerParam is OpenApiParameter)
88-
{
89-
((OpenApiParameter)swaggerParam).Schema.Minimum = rangeMin;
90-
((OpenApiParameter)swaggerParam).Schema.Maximum = rangeMax;
91-
}
92-
}
93-
}
94-
}
95-
}
96-
}
97-
}
98-
1+
using System.ComponentModel.DataAnnotations;
2+
using System.Linq;
3+
using Microsoft.AspNetCore.Mvc.Controllers;
4+
using Swashbuckle.AspNetCore.Swagger;
5+
using Swashbuckle.AspNetCore.SwaggerGen;
6+
using Microsoft.OpenApi.Models;
7+
8+
namespace {{packageName}}.Filters
9+
{
10+
/// <summary>
11+
/// Path Parameter Validation Rules Filter
12+
/// </summary>
13+
public class GeneratePathParamsValidationFilter : IOperationFilter
14+
{
15+
/// <summary>
16+
/// Constructor
17+
/// </summary>
18+
/// <param name="operation">Operation</param>
19+
/// <param name="context">OperationFilterContext</param>
20+
public void Apply(OpenApiOperation operation, OperationFilterContext context)
21+
{
22+
var pars = context.ApiDescription.ParameterDescriptions;
23+
24+
foreach (var par in pars)
25+
{
26+
var swaggerParam = operation.Parameters.SingleOrDefault(p => p.Name == par.Name);
27+
28+
var attributes = ((ControllerParameterDescriptor)par.ParameterDescriptor).ParameterInfo.CustomAttributes;
29+
30+
if (attributes != null && attributes.Count() > 0 && swaggerParam != null)
31+
{
32+
// Required - [Required]
33+
var requiredAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RequiredAttribute));
34+
if (requiredAttr != null)
35+
{
36+
swaggerParam.Required = true;
37+
}
38+
39+
// Regex Pattern [RegularExpression]
40+
var regexAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RegularExpressionAttribute));
41+
if (regexAttr != null)
42+
{
43+
string regex = (string)regexAttr.ConstructorArguments[0].Value;
44+
if (swaggerParam is OpenApiParameter)
45+
{
46+
((OpenApiParameter)swaggerParam).Schema.Pattern = regex;
47+
}
48+
}
49+
50+
// String Length [StringLength]
51+
int? minLenght = null, maxLength = null;
52+
var stringLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(StringLengthAttribute));
53+
if (stringLengthAttr != null)
54+
{
55+
if (stringLengthAttr.NamedArguments.Count == 1)
56+
{
57+
minLenght = (int)stringLengthAttr.NamedArguments.Single(p => p.MemberName == "MinimumLength").TypedValue.Value;
58+
}
59+
maxLength = (int)stringLengthAttr.ConstructorArguments[0].Value;
60+
}
61+
62+
var minLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(MinLengthAttribute));
63+
if (minLengthAttr != null)
64+
{
65+
minLenght = (int)minLengthAttr.ConstructorArguments[0].Value;
66+
}
67+
68+
var maxLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(MaxLengthAttribute));
69+
if (maxLengthAttr != null)
70+
{
71+
maxLength = (int)maxLengthAttr.ConstructorArguments[0].Value;
72+
}
73+
74+
if (swaggerParam is OpenApiParameter)
75+
{
76+
((OpenApiParameter)swaggerParam).Schema.MinLength = minLenght;
77+
((OpenApiParameter)swaggerParam).Schema.MaxLength = maxLength;
78+
}
79+
80+
// Range [Range]
81+
var rangeAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RangeAttribute));
82+
if (rangeAttr != null)
83+
{
84+
int rangeMin = (int)rangeAttr.ConstructorArguments[0].Value;
85+
int rangeMax = (int)rangeAttr.ConstructorArguments[1].Value;
86+
87+
if (swaggerParam is OpenApiParameter)
88+
{
89+
((OpenApiParameter)swaggerParam).Schema.Minimum = rangeMin;
90+
((OpenApiParameter)swaggerParam).Schema.Maximum = rangeMax;
91+
}
92+
}
93+
}
94+
}
95+
}
96+
}
97+
}
98+
Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
using Microsoft.AspNetCore.Hosting;
2-
using Microsoft.AspNetCore;
3-
4-
namespace {{packageName}}
5-
{
6-
/// <summary>
7-
/// Program
8-
/// </summary>
9-
public class Program
10-
{
11-
/// <summary>
12-
/// Main
13-
/// </summary>
14-
/// <param name="args"></param>
15-
public static void Main(string[] args)
16-
{
17-
CreateWebHostBuilder(args).Build().Run();
18-
}
19-
20-
/// <summary>
21-
/// Create the web host builder.
22-
/// </summary>
23-
/// <param name="args"></param>
24-
/// <returns>IWebHostBuilder</returns>
25-
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
26-
WebHost.CreateDefaultBuilder(args)
27-
.UseStartup<Startup>();
28-
}
29-
}
1+
using Microsoft.AspNetCore.Hosting;
2+
using Microsoft.AspNetCore;
3+
4+
namespace {{packageName}}
5+
{
6+
/// <summary>
7+
/// Program
8+
/// </summary>
9+
public class Program
10+
{
11+
/// <summary>
12+
/// Main
13+
/// </summary>
14+
/// <param name="args"></param>
15+
public static void Main(string[] args)
16+
{
17+
CreateWebHostBuilder(args).Build().Run();
18+
}
19+
20+
/// <summary>
21+
/// Create the web host builder.
22+
/// </summary>
23+
/// <param name="args"></param>
24+
/// <returns>IWebHostBuilder</returns>
25+
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
26+
WebHost.CreateDefaultBuilder(args)
27+
.UseStartup<Startup>();
28+
}
29+
}

0 commit comments

Comments
 (0)