Repository navigation
Develop 2.0.0-alpha #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
99 commits
Select commit
Hold shift + click to select a range
fdb59ab
init: 2.0.0‑alpha
ReneSchwarzer d46d7f6
add: MaxRequestHeadersTotalSize to webexpress.config.xml limit section
ReneSchwarzer f78296a
feat: general improvements and minor bugs
ReneSchwarzer 428abf1
feat: general improvements and minor bugs
ReneSchwarzer 0df433f
feat: general improvements and minor bugs
ReneSchwarzer c856933
feat: general improvements and minor bugs
ReneSchwarzer 4504615
feat: add context path
ReneSchwarzer 23a4cab
feat: general improvements, extensions, and additional tests
ReneSchwarzer 1d4722f
feat: log improvements and minor bugs
ReneSchwarzer 3bc9c46
feat: webasset improvements and minor bugs
ReneSchwarzer f9d5584
feat: uri improvements and minor bugs
ReneSchwarzer 0cd1131
feat: general improvements and minor bugs
ReneSchwarzer 82e81a1
feat: doc improvements
ReneSchwarzer f35ec60
feat: HTTP/2 readiness and configurable Kestrel protocols
ReneSchwarzer f12af0f
perf: resolve endpoint URIs in O(1) and cut reflection in the render …
ReneSchwarzer b3bdf66
feat: general improvements and minor bugs
ReneSchwarzer e83f815
feat: add table templates and minor bugs
ReneSchwarzer 0751946
perf: code optimized and fix minor bugs
ReneSchwarzer 9795e9a
feat: kanban improvements
ReneSchwarzer fd6e926
docs: disclose AI-assisted creation in READMEs and imprints (EU AI Ac…
ReneSchwarzer 57e4526
feat: general improvements and minor bugs
ReneSchwarzer acf02ec
feat: general improvements and minor bugs
ReneSchwarzer 1548a85
feat: monitor improvements
ReneSchwarzer 63cf7f3
feat: settings improvements and minor bugs
ReneSchwarzer 97f725b
feat: wql prompt improvements and minor bugs
ReneSchwarzer f57defd
chore: migrate projects to .slnx
ReneSchwarzer a4dd3c5
feat: add section control and minor bugs
ReneSchwarzer fc71db8
feat: general improvements and minor bugs
ReneSchwarzer 3643f9c
feat: responsive app-shell layout
ReneSchwarzer 0f0f708
feat: icon improvements and minor bugs
ReneSchwarzer 160af0f
feat: general improvements and minor bugs
ReneSchwarzer 16e6e73
feat: add group control and minor bugs
ReneSchwarzer f3f7b06
feat: add like control, general improvements and minor bugs
ReneSchwarzer 239cf29
feat: editor and graph improvements and minor bugs
ReneSchwarzer 784e3fc
fix: session security, lifecycle handling and login protection
ReneSchwarzer 4067adb
feat: general improvements and minor bugs
ReneSchwarzer c35e976
feat: replace xml config with .NET configuration model and json setti…
ReneSchwarzer d5b73ec
feat: replace server-side sessions with token-based authentication
ReneSchwarzer 89a647d
feat: introduce certificate management infrastructure
ReneSchwarzer 4c05425
refactor: introduce IdentityTokenStoreManager and merge IdentityToken…
ReneSchwarzer 6ce3bd1
feat: add secure-by-default headers, OWASP protections and HTTP/3 sup…
ReneSchwarzer 92da03e
fix: protect settings pages and hide Settings menu for non-admin users
ReneSchwarzer be32ad2
feat: general improvements and minor bugs
ReneSchwarzer af6afc8
feat: general improvements and minor bugs
ReneSchwarzer 5015d2b
feat: add ExternalUri for public URL configuration
ReneSchwarzer bd791c5
fix: resolve WebSocket handshake failure by using ExternalUri
ReneSchwarzer b7be131
feat: handle root URL based on configured applications
ReneSchwarzer 7bd1b41
feat: add centralized health check endpoint for containerized services
ReneSchwarzer 4d7cd77
feat: enable graceful shutdown and resource cleanup on container term…
ReneSchwarzer b2f5a93
feat: track app creation failures and expose auth config check for he…
ReneSchwarzer 61635ef
fix: alignment and extra column bugs in MarkdownParser
ReneSchwarzer d01e40c
feat: add PDF viewer control using object tag
ReneSchwarzer 3501461
test: add test for JWT signature verification and rejection
ReneSchwarzer 98b1007
fix: disable settings log activation in Docker environments
ReneSchwarzer ca3c453
feat: general improvements and minor bugs
ReneSchwarzer 7df6a37
feat: general improvements and minor bugs
ReneSchwarzer 6e788a0
feat: general improvements and minor bugs
ReneSchwarzer ef39ef9
feat: general improvements and minor bugs
ReneSchwarzer 46054fa
fix: encode bad request pages, accept any-address https bindings, rep…
ReneSchwarzer 35066e3
feat: add metrics manager and metrics endpoint
ReneSchwarzer 80048aa
feat: disable metrics endpoint by default
ReneSchwarzer f064bc9
fix: correct XSS handling, HTTP reason phrases, typos, and broken links
ReneSchwarzer 43beb5a
fix: correct GitLab workflow solution references and JNode version
ReneSchwarzer d54f186
fix: resolve xUnit1051 cancellation token warnings
ReneSchwarzer 88ef288
docs: improve project description
ReneSchwarzer 00ddd1d
feat: add pluggable cluster layer to resolve scaling bottlenecks
ReneSchwarzer b249c04
feat: add email support
ReneSchwarzer 8609513
feat: add note functionality to WYSIWYG editor and display in Control…
ReneSchwarzer 5857954
fix: synchronize shared state across replicas
ReneSchwarzer b78a8fe
feat: refactor WQL infrastructure and add advanced query features
ReneSchwarzer 7c2c4fe
Refactor: switch all custom DOM controls to state-based rendering
ReneSchwarzer fb14282
feat: make headline optionally editable
ReneSchwarzer b5b8f88
feat: add standardized control contract for WebExpress controls
ReneSchwarzer 8b2f990
feat: add media playback controls (video/audio)
ReneSchwarzer 5097c75
feat: replace Chart.js with native WebExpress chart engine and update…
ReneSchwarzer 0f4ccf2
fix: serve byte ranges only for GET requests
ReneSchwarzer bf95368
fix: keep raw text element content literal in the HTML tokenizer
ReneSchwarzer a21b511
feat: replace MailKit with a built-in SMTP provider
ReneSchwarzer 8c24ce9
feat: add browser redirects and "stay signed in" to the login flow
ReneSchwarzer 5a2ca78
docs: add IdentityModel package references and licenses
ReneSchwarzer 51a9132
fix: revalidate assets instead of caching them for a year
ReneSchwarzer 7ef9d98
feat(auth): leave a renewal hint and end grants that cannot be renewed
ReneSchwarzer 974a3b9
build: drop the Microsoft.NET.Test.Sdk reference from the test project
ReneSchwarzer ab5d40a
test: replace the Monkey Island sample data with neutral names
ReneSchwarzer 4b1fcf0
docs: list the direct dependencies in THIRD-PARTY-NOTICES.md
ReneSchwarzer ef87425
docs: link the original licence files and add their texts to THIRD-PA…
ReneSchwarzer a199110
build: drop global.json
ReneSchwarzer f74d4a4
build: generate an SPDX SBOM for release packages
ReneSchwarzer 7b71ef4
build: update Microsoft.Testing.Extensions.TrxReport to 2.5.2
ReneSchwarzer 2ad881b
feat: package lifecycle through one manager, switchable built-in plugins
ReneSchwarzer 0763694
fix: package uninstall removes only settings it deployed, cluster ope…
ReneSchwarzer 8bc7edf
build: create global.json in the test workflow
ReneSchwarzer aecb3e3
test: run the tests in parallel, each with a component hub of its own
ReneSchwarzer 35e58ca
perf: start a component hub in a third of the time
ReneSchwarzer fd1b4bf
fix: check socket policies, keep file resources in their root, escape…
ReneSchwarzer ad0c84a
fix: split the host's deps manifest list on ';' on every platform
ReneSchwarzer b9ca6aa
style: sort usings and shorten the deps manifest comment in PackageMa…
ReneSchwarzer 18d4a9e
fix: a plain request to a socket endpoint is told to upgrade instead …
ReneSchwarzer d7bc5eb
build: the repo opts in to Microsoft.Testing.Platform through global.…
ReneSchwarzer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,44 +1,53 @@ | ||
|  | ||
|
|
||
| # WebExpress | ||
| `WebExpress` is a lightweight web server optimized for use in low-performance environments (e.g. Raspberry PI). By providing a powerful plugin system and a comprehensive API, web applications can be easily and quickly integrated into a .net language (e.g. C#). Some advantages of `WebExpress` are: | ||
| **WebExpress** is a lightweight, high-performance web server designed to scale seamlessly from resource-constrained environments to larger production systems. Through its extensible plugin framework and comprehensive API, web applications can be developed and integrated quickly using .NET languages such as C#. Some of the key benefits of **WebExpress** are: | ||
|
|
||
| - It is easy to use. | ||
| - It offers a variety of features and tools that can help you build and manage your website. | ||
| - It is fast and efficient and can help you save time and money. | ||
| - It is flexible and can be customized to meet your specific requirements. | ||
|
|
||
| The `WebExpress` family includes the following projects: | ||
| The **WebExpress** family includes the following projects: | ||
|
|
||
| - [WebExpress](https://github.com/webexpress-framework/WebExpress#readme) - The web server for `WebExpress` applications and the documentation. | ||
| - [WebExpress.WebCore](https://github.com/webexpress-framework/WebExpress.WebCore#readme) - The core for `WebExpress` applications. | ||
| - [WebExpress.WebUI](https://github.com/webexpress-framework/WebExpress.WebUI#readme) - Common templates and controls for `WebExpress` applications. | ||
| - [WebExpress.WebIndex](https://github.com/webexpress-framework/WebExpress.WebIndex#readme) - Reverse index for `WebExpress` applications. | ||
| - [WebExpress.WebApp](https://github.com/webexpress-framework/WebExpress.WebApp#readme) - Business application template for `WebExpress` applications. | ||
| - [WebExpress](https://github.com/webexpress-framework/WebExpress#readme) - The web server for **WebExpress** applications and the documentation. | ||
| - [WebExpress.WebCore](https://github.com/webexpress-framework/WebExpress.WebCore#readme) - The core for **WebExpress** applications. | ||
| - [WebExpress.WebUI](https://github.com/webexpress-framework/WebExpress.WebUI#readme) - Common templates and controls for **WebExpress** applications. | ||
| - [WebExpress.WebIndex](https://github.com/webexpress-framework/WebExpress.WebIndex#readme) - Reverse index for **WebExpress** applications. | ||
| - [WebExpress.WebApp](https://github.com/webexpress-framework/WebExpress.WebApp#readme) - Business application template for **WebExpress** applications. | ||
|
|
||
| # WebExpress.WebCore | ||
| `WebCore` is part of the `WebExpress` family and includes the basic elements of a `WebExpress` application. | ||
| `WebCore` is part of the **WebExpress** family and includes the basic elements of a **WebExpress** application. | ||
|
|
||
| # Libraries used | ||
|
|
||
| - https://github.com/dotnet/core (MIT) | ||
| - [Microsoft.IdentityModel.JsonWebTokens](https://www.nuget.org/packages/Microsoft.IdentityModel.JsonWebTokens/) ([MIT](licenses/Microsoft.IdentityModel.JsonWebTokens.lic)) | ||
| - [Microsoft.IdentityModel.Protocols.OpenIdConnect](https://www.nuget.org/packages/Microsoft.IdentityModel.Protocols.OpenIdConnect/) ([MIT](licenses/Microsoft.IdentityModel.Protocols.OpenIdConnect.lic)) | ||
|
|
||
| # Download | ||
| The current binaries are available for download [here](https://github.com/webexpress-framework/WebExpress/releases). | ||
|
|
||
| # Start | ||
| If you're looking to get started with `WebExpress`, we would recommend using the following documentation. It can help you understand the platform. | ||
| If you're looking to get started with **WebExpress**, we would recommend using the following documentation. It can help you understand the platform. | ||
|
|
||
| - [Installation Guide](https://github.com/webexpress-framework/WebExpress/blob/main/doc/installation_guide.md) | ||
| - [Development Guide](https://github.com/webexpress-framework/WebExpress/blob/main/doc/development_guide.md) | ||
| - [Installation Guide](https://github.com/webexpress-framework/WebExpress/blob/main/docs/installation_guide.md) | ||
| - [Development Guide](https://github.com/webexpress-framework/WebExpress/blob/main/docs/development_guide.md) | ||
| - [WebExpress.WebCore API Documentation](https://webexpress-framework.github.io/WebExpress.WebCore/) | ||
| - [WebExpress.WebUI API Documentation](https://webexpress-framework.github.io/WebExpress.WebUI/) | ||
| - [WebExpress.WebApp API Documentation](https://webexpress-framework.github.io/WebExpress.WebApp/) | ||
| - [WebExpress.WebIndex API Documentation](https://webexpress-framework.github.io/WebExpress.WebIndex/) | ||
|
|
||
| # Learning | ||
| The following tutorials illustrate the essential techniques of `WebExpress`. These tutorials are designed to assist you, as a developer, in understanding the various aspects of `WebExpress`. Each tutorial provides a detailed, step-by-step guide that you can work through using an example. If you re interested in beginning the development of `WebExpress` components, we would recommend you to complete some of these tutorials. | ||
| The following tutorials illustrate the essential techniques of **WebExpress**. These tutorials are designed to assist you, as a developer, in understanding the various aspects of **WebExpress**. Each tutorial provides a detailed, step-by-step guide that you can work through using an example. If you're interested in beginning the development of **WebExpress** components, we would recommend you to complete some of these tutorials. | ||
|
|
||
| - [HelloWorld](https://github.com/webexpress-framework/WebExpress.Tutorial.HelloWorld#readme) | ||
| - [WebUI](https://github.com/webexpress-framework/WebExpress.Tutorial.WebUI#readme) | ||
| - [WebApp](https://github.com/webexpress-framework/WebExpress.Tutorial.WebApp#readme) | ||
| - [WebIndex](https://github.com/webexpress-framework/WebExpress.Tutorial.WebIndex#readme) | ||
|
|
||
| ## AI transparency notice | ||
| Parts of this software, its documentation, and its assets were created with the assistance of AI-based tools, including large language models. AI-assisted contributions are reviewed by the project maintainer before they are included. | ||
|
|
||
| # Tags | ||
| #WebCore #WebExpress #DotNet #NETCore |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,101 @@ | ||
| # Third-party notices | ||
|
|
||
| WebExpress.WebCore is published under the MIT licence, see [LICENSE](LICENSE). | ||
| This file names its direct dependencies, meaning what its own projects reference or ship, and not what those bring in turn. Each WebExpress package carries its own notices. | ||
| The licence of every component is linked to the licence file of the version in use. The original licence texts follow at the end of this file. | ||
|
|
||
| ## Third-party components | ||
|
|
||
| |Component |Used by |Licence | ||
| |----------------------------------------------------------------------------------------------------------------------------------------|-------------------|----------- | ||
| |[.NET runtime](https://github.com/dotnet/runtime) |WebExpress.WebUI |[MIT](https://github.com/dotnet/runtime/blob/v10.0.0/LICENSE.TXT) | ||
| |[Microsoft.IdentityModel.JsonWebTokens](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) |WebExpress.WebCore |[MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/8b16f418b3d587416d293e9ba34c5d310781cdb3/LICENSE.txt) | ||
| |[Microsoft.IdentityModel.Protocols.OpenIdConnect](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) |WebExpress.WebCore |[MIT](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/8b16f418b3d587416d293e9ba34c5d310781cdb3/LICENSE.txt) | ||
|
|
||
| ## Licence texts | ||
|
|
||
| ### .NET runtime | ||
|
|
||
| MIT licence, taken from [the original licence file](https://github.com/dotnet/runtime/blob/v10.0.0/LICENSE.TXT). | ||
|
|
||
| ``` | ||
| The MIT License (MIT) | ||
|
|
||
| Copyright (c) .NET Foundation and Contributors | ||
|
|
||
| All rights reserved. | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. | ||
| ``` | ||
|
|
||
| ### Microsoft.IdentityModel.JsonWebTokens | ||
|
|
||
| MIT licence, taken from [the original licence file](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/8b16f418b3d587416d293e9ba34c5d310781cdb3/LICENSE.txt). | ||
|
|
||
| ``` | ||
| The MIT License (MIT) | ||
|
|
||
| Copyright (c) Microsoft Corporation | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. | ||
| ``` | ||
|
|
||
| ### Microsoft.IdentityModel.Protocols.OpenIdConnect | ||
|
|
||
| MIT licence, taken from [the original licence file](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/8b16f418b3d587416d293e9ba34c5d310781cdb3/LICENSE.txt). | ||
|
|
||
| ``` | ||
| The MIT License (MIT) | ||
|
|
||
| Copyright (c) Microsoft Corporation | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.