XmobiTea.ProtonNet.Server.WebApi 1.0.4

dotnet add package XmobiTea.ProtonNet.Server.WebApi --version 1.0.4                
NuGet\Install-Package XmobiTea.ProtonNet.Server.WebApi -Version 1.0.4                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XmobiTea.ProtonNet.Server.WebApi" Version="1.0.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add XmobiTea.ProtonNet.Server.WebApi --version 1.0.4                
#r "nuget: XmobiTea.ProtonNet.Server.WebApi, 1.0.4"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install XmobiTea.ProtonNet.Server.WebApi as a Cake Addin
#addin nuget:?package=XmobiTea.ProtonNet.Server.WebApi&version=1.0.4

// Install XmobiTea.ProtonNet.Server.WebApi as a Cake Tool
#tool nuget:?package=XmobiTea.ProtonNet.Server.WebApi&version=1.0.4                

XmobiTea.ProtonNet.Server.WebApi

Installation Instructions

To install the XmobiTea.ProtonNet.Server.WebApi package, follow these steps:

  1. Ensure you have .NET Core SDK installed on your machine.
  2. Clone the repository or download the source code.
  3. Open the solution in your preferred IDE (e.g., Visual Studio, Visual Studio Code).
  4. Restore the NuGet packages using the command:
    dotnet restore
    
  5. Build the project:
    dotnet build
    

Features

  • Web API Server: Supports HTTP and HTTPS protocols for serving web API requests.
  • Session Management: Includes session handling, supporting multiple simultaneous connections.
  • Static File Serving: Capable of serving static files and folders with automatic caching and file watching.
  • Middleware Support: Provides a middleware pipeline for request processing.
  • Custom Controllers: Easily create and bind custom controllers for handling specific routes.

Usage Examples

public class Startup
{
    public static void Main(string[] args)
    {
        var server = new WebApiServerEntry.Builder()
            .SetStartupSettings(StartupSettings.NewBuilder()
                .SetHttpServer(HttpServerSettings.NewBuilder()
                    .SetEnable(true)
                    .SetPort(8080)
                    .Build())
                .Build())
            .Build()
            .GetServer();

        server.Start();
    }
}

Supported Data Types

  • HttpRequest: Represents an incoming HTTP request.
  • HttpResponse: Represents an outgoing HTTP response.
  • MiddlewareContext: Holds context information during middleware execution.
  • SessionConfigSettings: Configuration for session handling.
  • StaticCache: Manages caching for static files.

Extensibility

The XmobiTea.ProtonNet.Server.WebApi package is designed with extensibility in mind:

  • Custom Middleware: You can create your own middleware by implementing the appropriate delegate.
  • Custom Controllers: Derive from WebApiController to create your own controllers with custom routes.

Contributing Guidelines

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and commit them (git commit -am 'Add new feature').
  4. Push the branch (git push origin feature-branch).
  5. Open a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • Thanks to the contributors of the XmobiTea project.
  • Special mention to the .NET community for their continuous support.
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net46 is compatible.  net461 is compatible.  net462 is compatible.  net463 was computed.  net47 is compatible.  net471 is compatible.  net472 is compatible.  net48 is compatible.  net481 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.