Skip to content

Commit

Permalink
Add project files.
Browse files Browse the repository at this point in the history
  • Loading branch information
ACER authored and ACER committed Sep 11, 2023
1 parent 6fe0d85 commit cfc888d
Show file tree
Hide file tree
Showing 16 changed files with 418 additions and 0 deletions.
31 changes: 31 additions & 0 deletions DemoSolution.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34024.191
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OwinDemo", "OwinDemo\OwinDemo.csproj", "{3DD6938D-773D-4B0E-9C84-F3569351ADAD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RESTfulServicesDemo", "RESTfulServicesDemo\RESTfulServicesDemo.csproj", "{15081B66-788C-44EF-919B-02D82D853FC5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3DD6938D-773D-4B0E-9C84-F3569351ADAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3DD6938D-773D-4B0E-9C84-F3569351ADAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3DD6938D-773D-4B0E-9C84-F3569351ADAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3DD6938D-773D-4B0E-9C84-F3569351ADAD}.Release|Any CPU.Build.0 = Release|Any CPU
{15081B66-788C-44EF-919B-02D82D853FC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15081B66-788C-44EF-919B-02D82D853FC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15081B66-788C-44EF-919B-02D82D853FC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15081B66-788C-44EF-919B-02D82D853FC5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B748D3D8-2126-466C-8490-A6E9000FC5AB}
EndGlobalSection
EndGlobal
33 changes: 33 additions & 0 deletions OwinDemo/Controllers/WeatherForecastController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using Microsoft.AspNetCore.Mvc;

namespace OwinDemo.Controllers
{
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};

private readonly ILogger<WeatherForecastController> _logger;

public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}

[HttpGet(Name = "GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
}
}
14 changes: 14 additions & 0 deletions OwinDemo/OwinDemo.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Owin" Version="6.0.21" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
</ItemGroup>

</Project>
57 changes: 57 additions & 0 deletions OwinDemo/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using System.Globalization;
using System.Net.WebSockets;
using System.Text;

namespace OwinDemo
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
//app.UseSwagger();
//app.UseSwaggerUI();
app.UseOwin(pipeline =>
{
pipeline(next => OwinHello);
});
}

app.UseHttpsRedirection();

app.UseAuthorization();


app.MapControllers();

app.Run();
}
public static Task OwinHello(IDictionary<string, object> environment)
{
string responseText = "Hello World via OWIN";
byte[] responseBytes = Encoding.UTF8.GetBytes(responseText);

// OWIN Environment Keys: https://owin.org/spec/spec/owin-1.0.0.html
var responseStream = (Stream)environment["owin.ResponseBody"];
var responseHeaders = (IDictionary<string, string[]>)environment["owin.ResponseHeaders"];

responseHeaders["Content-Length"] = new string[] { responseBytes.Length.ToString(CultureInfo.InvariantCulture) };
responseHeaders["Content-Type"] = new string[] { "text/plain" };

return responseStream.WriteAsync(responseBytes, 0, responseBytes.Length);
}
}
}
31 changes: 31 additions & 0 deletions OwinDemo/Properties/launchSettings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:24718",
"sslPort": 44337
}
},
"profiles": {
"OwinDemo": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7188;http://localhost:5269",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
13 changes: 13 additions & 0 deletions OwinDemo/WeatherForecast.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace OwinDemo
{
public class WeatherForecast
{
public DateTime Date { get; set; }

public int TemperatureC { get; set; }

public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);

public string? Summary { get; set; }
}
}
8 changes: 8 additions & 0 deletions OwinDemo/appsettings.Development.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}
9 changes: 9 additions & 0 deletions OwinDemo/appsettings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
39 changes: 39 additions & 0 deletions RESTfulServicesDemo/Controllers/ValueController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
using Microsoft.AspNetCore.Mvc;

namespace RESTfulServicesDemo.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ValueController : Controller
{
[HttpGet]
public IActionResult Get()
{
return Ok(new string[] {"value1", "value2"});
}

[HttpGet("one")]
public IEnumerable<string> Get1()
{
return new string[] { "value1", "value2" };
}

[HttpGet("two")]
public ActionResult<IEnumerable<string>> Get2()
{
return new string[] { "value1", "value2" };
}

[HttpGet("three")]
public string[] Get3()
{
return new string[] { "value1", "value2" };
}

[HttpGet("four")]
public IActionResult Get4()
{
return new JsonResult(new string[] { "value1", "value2" });
}
}
}
63 changes: 63 additions & 0 deletions RESTfulServicesDemo/Controllers/WeatherForecastController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
using Microsoft.AspNetCore.Mvc;

namespace RESTfulServicesDemo.Controllers
{
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};

private readonly ILogger<WeatherForecastController> _logger;

public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}

[HttpGet(Name = "GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}

[HttpPost]
public IActionResult Post(WeatherForecast weatherForecast)
{
return Ok();
}

[HttpPost("Body")]
public IActionResult PostBody([FromBody]WeatherForecast weatherForecast)
{
return Ok(weatherForecast);
}

[HttpPost("Form")]
public IActionResult PostForm([FromForm]WeatherForecast weatherForecast)
{
return Ok(weatherForecast);
}

[HttpPost("Route/{id}")]
public IActionResult PostRoute([FromRoute] string id)
{
return Ok(id);
}

[HttpPost("Query")]
public IActionResult PostQuery([FromQuery(Name ="Summary")] string summary)
{
return Ok(summary);
}
}
}
46 changes: 46 additions & 0 deletions RESTfulServicesDemo/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
namespace RESTfulServicesDemo
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers()
.ConfigureApiBehaviorOptions(options =>
{
//options.SuppressModelStateInvalidFilter = true;

////Suppress all binding refernence
//options.SuppressInferBindingSourcesForParameters = true;

////Suppress multipart/form-data content type reference
//options.SuppressConsumesConstraintForFormFileParameters = true;
})
;
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseAuthorization();


app.MapControllers();

app.Run();
}
}
}
31 changes: 31 additions & 0 deletions RESTfulServicesDemo/Properties/launchSettings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:31953",
"sslPort": 44370
}
},
"profiles": {
"RESTfulServicesDemo": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7094;http://localhost:5159",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Loading

0 comments on commit cfc888d

Please sign in to comment.