Skip to content
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

OpenAPI 3.0.3 and 3.1 full support #1136

Merged
merged 314 commits into from
Apr 14, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
314 commits
Select commit Hold shift + click to select a range
f4b0a34
fixes
mdaneri Oct 26, 2023
d35c909
replace [void] with $null =
mdaneri Oct 26, 2023
faaa263
[switch] vs bool
mdaneri Oct 26, 2023
4257ee4
minor fixes
mdaneri Oct 27, 2023
4aff610
remove Pode.sln
mdaneri Oct 27, 2023
9494bc9
fixes
mdaneri Oct 28, 2023
9fa98b4
fix to Test-PodeOARequestSchema
mdaneri Oct 28, 2023
5cb4ca6
Set-PodeSecurityAccessControl headers and methods auto-popuate
mdaneri Oct 29, 2023
738468f
code compliance
mdaneri Oct 30, 2023
f27e6e4
added some references to the help
mdaneri Oct 30, 2023
6c0d401
fix an issue with merge and objects
mdaneri Oct 30, 2023
b0f463f
Fix $Return
mdaneri Oct 30, 2023
70a8b4e
first openapitest
mdaneri Oct 31, 2023
44e4707
additional tests
mdaneri Nov 1, 2023
6615d3b
Additional tests
mdaneri Nov 1, 2023
0e68b6a
new tests and buf fixes
mdaneri Nov 2, 2023
d9b37cf
fixes and tests
mdaneri Nov 2, 2023
54108ed
additional tests
mdaneri Nov 2, 2023
5dfcbbc
Update tests to be Pester 5.5 compatible
mdaneri Nov 3, 2023
8fa8484
Update OpenAPI.md
mdaneri Nov 3, 2023
4bf3cc4
Update OpenAPI.md
mdaneri Nov 3, 2023
9610fb1
documentation 1st addition
mdaneri Nov 3, 2023
e30ea80
Documentation and fixes
mdaneri Nov 6, 2023
3feb3d0
docs and cmdlet changes
mdaneri Nov 8, 2023
b12217b
Add-PodeOAInfo test fix
mdaneri Nov 8, 2023
ee27625
new openapi auth
mdaneri Nov 9, 2023
c00f9cd
Merge branch 'Badgerati:develop' into develop
mdaneri Nov 9, 2023
9f4c14b
fix OpenApi Authentication
mdaneri Nov 11, 2023
a937be8
fixes
mdaneri Nov 13, 2023
0b83b27
fixes
mdaneri Nov 13, 2023
aa0f71c
OpenApi doc addiction
mdaneri Nov 13, 2023
b5d9e85
reorg properties
mdaneri Nov 14, 2023
a6e75e6
Add exemples
mdaneri Nov 15, 2023
ad82946
fix examples
mdaneri Nov 16, 2023
1d923b6
examples property fixes
mdaneri Nov 16, 2023
29e509b
improvements
mdaneri Nov 16, 2023
77fe6c5
added aditional PodeOAParam
mdaneri Nov 17, 2023
3534f54
Support for .Net8 and PWSH 7.4
mdaneri Nov 18, 2023
fc6a07e
Added support for RFC1866
mdaneri Nov 20, 2023
d7d85f6
Added support for encoding
mdaneri Nov 21, 2023
03af72d
fixes
mdaneri Nov 21, 2023
73147ef
header response support
mdaneri Nov 22, 2023
1b268c6
Default OAproperty fix
mdaneri Nov 22, 2023
8a1d94e
report pwsh version during build
mdaneri Nov 22, 2023
0e054bb
fix an compatibility with pwsh<7.3
mdaneri Nov 22, 2023
6a60dd4
Create PSScriptAnalyzer.yml
mdaneri Nov 22, 2023
53f28a0
powershell test
mdaneri Nov 22, 2023
9627e0d
build fix for desktop pwsh
mdaneri Nov 22, 2023
6726ca3
upgrade invokeBuild
mdaneri Nov 22, 2023
bc1d333
.
mdaneri Nov 23, 2023
1732330
.
mdaneri Nov 23, 2023
9ba1f36
VSCode made me crazy
mdaneri Nov 23, 2023
9ff551d
.
mdaneri Nov 23, 2023
e6b37e7
added pwsh 7.4
mdaneri Nov 23, 2023
8ccce45
Add pwsh version check
mdaneri Nov 23, 2023
bcb1a79
update actions to v3
mdaneri Nov 23, 2023
fa3a093
changed version on pode.build
mdaneri Nov 23, 2023
ab16ebb
try pwsh 7.4 test
mdaneri Nov 23, 2023
a98496f
modified: .github/workflows/ci-pwsh7_4.yml
mdaneri Nov 23, 2023
e32841f
added macos to 7.4
mdaneri Nov 23, 2023
c23deca
fix mac
mdaneri Nov 23, 2023
99b7271
.
mdaneri Nov 23, 2023
0e5c1ac
.
mdaneri Nov 23, 2023
e65254b
add chmod
mdaneri Nov 23, 2023
5b3c470
added 7.3 test
mdaneri Nov 23, 2023
591edcf
fixes
mdaneri Nov 23, 2023
c12d1d6
.
mdaneri Nov 23, 2023
4134c54
fix version print
mdaneri Nov 23, 2023
87f9eb3
new corner cases
mdaneri Nov 24, 2023
7850755
New Features and 3 new cmdlets
mdaneri Nov 26, 2023
8db58c4
fix Cmdlet names
mdaneri Nov 26, 2023
4dd18cf
various improvements
mdaneri Nov 27, 2023
b0ce694
Added new Route OAResponses param
mdaneri Nov 27, 2023
fedc9fd
Add New-PodeOAMediaContentType
mdaneri Nov 27, 2023
0ab4dd4
fixes and improvements
mdaneri Nov 28, 2023
724cb08
fix openapi test
mdaneri Nov 28, 2023
3d2e40a
fix a text replacement went wrong
mdaneri Nov 28, 2023
6128d60
Doc changes
mdaneri Nov 28, 2023
d3f2070
change to Test-PodeOAJsonSchemaCompliance
mdaneri Nov 28, 2023
01209ed
fix Petstore
mdaneri Nov 28, 2023
728cdc6
test fix
mdaneri Nov 28, 2023
3be8950
remove default response option
mdaneri Nov 28, 2023
cecd3a0
Added support for OA3.1
mdaneri Nov 28, 2023
ed222eb
Added components for links and callback
mdaneri Nov 29, 2023
34a0fd4
fix content link,callback
mdaneri Nov 30, 2023
f44c03d
Fix test
mdaneri Nov 30, 2023
550913b
change default responses
mdaneri Nov 30, 2023
868de7a
Added support for route auth and anon
mdaneri Dec 3, 2023
9195263
Improved XML elements parameters
mdaneri Dec 4, 2023
ae11975
fix openapi test
mdaneri Dec 4, 2023
bb88210
fix openapi test syntax error
mdaneri Dec 4, 2023
90af63d
added documentation + fix -AdditionalProperties
mdaneri Dec 8, 2023
e89a94f
fix an response header issue. cleanup PetStore
mdaneri Dec 8, 2023
47f5446
Petstore Sample+ convert xml to hash
mdaneri Dec 11, 2023
4e06797
fixes
mdaneri Dec 12, 2023
c0b0c5b
add new New-PodeOAMultiTypeProperty for 3.1 multitype support
mdaneri Dec 12, 2023
8ee80ab
petstore
mdaneri Dec 13, 2023
b24fc92
completed petstore sample
mdaneri Dec 13, 2023
99dc1cf
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Dec 13, 2023
543a725
Fix server test
mdaneri Dec 13, 2023
f392ee0
Review OpenAPI Doc and fix some property name
mdaneri Dec 14, 2023
893779a
doc changes
mdaneri Dec 16, 2023
d8d43e6
docs update
mdaneri Dec 16, 2023
66ca991
Split OpenApi to 3 files
mdaneri Dec 17, 2023
c591431
first drop for multi openapi definitions
mdaneri Dec 17, 2023
b300c94
cleanup parameters + fixes
mdaneri Dec 17, 2023
48f5c15
OpenApi support for Path Server + fixes
mdaneri Dec 18, 2023
38cd8a4
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Dec 18, 2023
97d4d72
doc fix
mdaneri Dec 18, 2023
813c969
Change $OAtag to $SpecTag
mdaneri Dec 19, 2023
621f555
Added SpeTag to public OpenaAPI
mdaneri Dec 19, 2023
e8e9364
Multi OpenApi documents support
mdaneri Dec 22, 2023
1717549
Change property name from SpecTag to DefinitionTag
mdaneri Dec 22, 2023
1aa01eb
Add help to Add-PodeComponentGroup
mdaneri Dec 22, 2023
c8a2c08
Add webhook and fix headers reference
mdaneri Dec 23, 2023
31b01e3
fix header test
mdaneri Dec 23, 2023
a008ede
Add a new server configuration DefaultOADefinitionTag
mdaneri Dec 25, 2023
b930752
Fix tests
mdaneri Dec 26, 2023
ed175b4
fixes
mdaneri Dec 26, 2023
b7ec375
fixes
mdaneri Dec 26, 2023
57b570a
fix parameters help test
mdaneri Dec 26, 2023
e5c154f
test fixes + Select-PodeOADefinition use a stack
mdaneri Dec 27, 2023
947149a
fix openapi test
mdaneri Dec 27, 2023
3a29ee4
documentation update
mdaneri Dec 27, 2023
bab5ba0
fix the restart server
mdaneri Dec 27, 2023
2faf0ad
fix server test
mdaneri Dec 27, 2023
7a960cd
new docs
mdaneri Dec 28, 2023
d75a202
minor update
mdaneri Dec 28, 2023
2f48f8c
fix openapi test
mdaneri Dec 28, 2023
3346c8d
swagger pump to last version
mdaneri Jan 1, 2024
ff71fe5
State OpenAPI definition at server start
mdaneri Jan 1, 2024
5c32bea
fix an OpenAPI spec Tag issue + build improvements
mdaneri Jan 3, 2024
9776c57
Add support for recursive components
mdaneri Jan 3, 2024
7530488
fix OpenAPI test
mdaneri Jan 3, 2024
1cb0cc7
fix an issue with PodeOAViewer and endpoints
mdaneri Jan 3, 2024
a22db9f
fix pode.build InstallCurrentUser
mdaneri Jan 3, 2024
b649f6a
Fix a version comparison issue with DLL
mdaneri Jan 3, 2024
9e66397
fix an issue with testing
mdaneri Jan 3, 2024
750916b
fixes
mdaneri Jan 4, 2024
a12d0d9
Add Swagger-Editor as OpenAPI editor
mdaneri Jan 4, 2024
f6dc3fd
added Enable-PodeOAViewer -Editor documentation
mdaneri Jan 4, 2024
f8a777e
fix a wrong function call
mdaneri Jan 5, 2024
9f7c0a2
set default path for Enable-PodeOAViewer
mdaneri Jan 5, 2024
054340c
Added authentication to Enable-PodeOpenApi and Enable-PodeOAViewer
mdaneri Jan 5, 2024
76c9ac4
fixes
mdaneri Jan 5, 2024
8e0f95c
Update license.txt
mdaneri Jan 7, 2024
1bb8bd8
update license year
mdaneri Jan 7, 2024
14d0dc4
Invoke-PodeAuthValidation parallel validation with PowershellS >7.x
mdaneri Jan 8, 2024
49971df
Badgerati recommendation
mdaneri Jan 8, 2024
b03770b
Badgerati recommendation
mdaneri Jan 9, 2024
dd760c5
fix tests
mdaneri Jan 9, 2024
76acd9a
new static web example
mdaneri Jan 17, 2024
03cbfa5
.
mdaneri Jan 18, 2024
57539de
Matthew recommendations
mdaneri Jan 21, 2024
1b58391
review docs
mdaneri Jan 22, 2024
f0077ed
fixes
mdaneri Jan 25, 2024
96c1ec5
Update Security.ps1
mdaneri Jan 25, 2024
23aae4b
more headers and tests
mdaneri Jan 26, 2024
4542a68
Documentation fixes
mdaneri Jan 28, 2024
7e9ca5c
more private/OpenAPI.ps1 tests and inline comments
mdaneri Jan 28, 2024
c4670ff
fix Initialize-OpenApiTable Tests on Pws 5.1, change default OAViewer…
mdaneri Jan 28, 2024
2a3b06c
build cross-platform improvements
mdaneri Jan 28, 2024
e3db9e1
fix the checksum issue on linux
mdaneri Jan 28, 2024
2ec0879
improved build clean
mdaneri Jan 28, 2024
bcfc4fd
Added a new build guide
mdaneri Jan 29, 2024
70c8d7c
fix a workflow issue with versions
mdaneri Jan 29, 2024
92e230e
additional comment and test to private/OpenApi.ps1
mdaneri Jan 30, 2024
812bebe
move build.md under docs
mdaneri Jan 30, 2024
40350fa
Move build.md to Getting-Started
mdaneri Jan 30, 2024
de6e169
build.md added MacOS
mdaneri Jan 30, 2024
a202a6a
fix an issue with schema Validation when oneof and anyof is part of t…
mdaneri Feb 1, 2024
c1a8856
Implement File Browsing feature #1237
mdaneri Feb 3, 2024
53fa452
Fix the random file generator
mdaneri Feb 3, 2024
98d154d
added -FileBrowser to Start-PodeStaticServer Add-PodeStaticRouteGroup
mdaneri Feb 5, 2024
d7eb4b1
Code is working but test is failing
mdaneri Feb 6, 2024
6d1e367
Reorganize Write-PodeFileResponse
mdaneri Feb 11, 2024
9c7fe76
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Feb 11, 2024
ca6b9f5
FileBrowser and Default page fixes
mdaneri Feb 12, 2024
0d06a68
support for independent static paths
mdaneri Feb 13, 2024
5dd5c35
Get-PodeRouteByUrl improvement
mdaneri Feb 13, 2024
bb1be02
fix tests
mdaneri Feb 13, 2024
df3faef
Added Mathew fix for static routes order + fix openapi auth with stat…
mdaneri Feb 13, 2024
2632339
Address the problem with static path containing /*/ + some cleanup
mdaneri Feb 20, 2024
75d9d5b
Fix an issue with public and Set-PodeResponseAttachment
mdaneri Feb 20, 2024
626432c
fix Write-PodeAttachmentResponseInternal
mdaneri Feb 20, 2024
ed843d1
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Feb 20, 2024
aa53c70
added PSScriptAnalyzer.psd1 ExcludeRules = @('PSAvoidUsingCmdletAlias…
mdaneri Feb 20, 2024
92c9d03
add ConvertTo-PodeYamlInternal test and fix an issue with the convers…
mdaneri Feb 21, 2024
64cdcdd
fix ConvertTo-PodeYamlInternal test
mdaneri Feb 21, 2024
0dfd161
fix spaces in ConvertTo-PodeYamlInternal test
mdaneri Feb 21, 2024
6d6b0ff
Fix PodeSession tests `Should Throw` is not allowed in 5.5 `Should -T…
mdaneri Feb 21, 2024
b2f5db9
.
mdaneri Feb 21, 2024
d1d7f1c
moved PSScriptAnalyzerSettings.psd1 to root
mdaneri Feb 21, 2024
9879874
PSScriptAnalyzer and Customizable Default Folder Paths
mdaneri Feb 21, 2024
4acdf9e
GitHub Actions: Transitioning from Node 16 to Node 20
mdaneri Feb 21, 2024
6468b69
Update PSScriptAnalyzer.yml
mdaneri Feb 21, 2024
004c551
rollback process{}
mdaneri Feb 24, 2024
bbc05f8
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Feb 25, 2024
91eed8f
Rollback the Pattern/Route logic
mdaneri Feb 25, 2024
a3f8d24
Fix the issue with broswing a path with *
mdaneri Feb 26, 2024
ff00e27
Fix an issue when a default file(index.htm) is on root and -FileBrows…
mdaneri Mar 8, 2024
54e3ce7
Move Write-PodeFileResponse internal call to Write-PodeFileResponseIn…
mdaneri Mar 8, 2024
d1f34d0
fix a test issue
mdaneri Mar 8, 2024
adf3de5
fix an security issue durieng a pegasus scan
mdaneri Mar 11, 2024
bc6cf08
Adding server.psd1 new properties documentation
mdaneri Mar 11, 2024
4730252
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Mar 24, 2024
c8338ac
fix an issue withe external OpenAPI requests
mdaneri Mar 24, 2024
5142c30
update github workflow
mdaneri Mar 25, 2024
56aa883
fix a label for pwsh 7.5
mdaneri Mar 25, 2024
1373bf6
doc fixes
mdaneri Mar 25, 2024
fe05a9c
workaround for https rest test with powershell 7.4.x
mdaneri Mar 26, 2024
02675f4
cleanup
mdaneri Mar 26, 2024
703337a
change curl.exe to curl for linux compatibility
mdaneri Mar 26, 2024
12a3150
fix test for linux and mac
mdaneri Mar 26, 2024
4f905a6
reinstate SkipCertificateCheck
mdaneri Mar 26, 2024
de1f335
fix desktop
mdaneri Mar 26, 2024
5c6defc
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Mar 26, 2024
c37364a
restore Server.test.ps1
mdaneri Mar 26, 2024
5066a68
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Mar 27, 2024
03b2eb1
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Mar 30, 2024
9467934
new file: .github/workflows/ci-pwsh7_2.yml
mdaneri Mar 31, 2024
0db2500
.
mdaneri Mar 31, 2024
b05a6d4
.
mdaneri Mar 31, 2024
97ff7d1
.
mdaneri Mar 31, 2024
9895531
.
mdaneri Mar 31, 2024
4349b9e
.
mdaneri Mar 31, 2024
6bbbc8d
.
mdaneri Mar 31, 2024
1c6f09b
Create SECURITY.md
mdaneri Mar 31, 2024
8eec8c2
Add Versioning functions
mdaneri Mar 31, 2024
4a7d0cc
.
mdaneri Mar 31, 2024
9381f46
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Mar 31, 2024
0c5c9ea
Update pode.build.ps1
mdaneri Mar 31, 2024
1d1fd59
fix an issue with build
mdaneri Mar 31, 2024
948d9b1
fix build
mdaneri Apr 2, 2024
a8020c6
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Apr 2, 2024
cea44da
fix configuration.md
mdaneri Apr 2, 2024
32b1f45
Update StaticContent.md
mdaneri Apr 2, 2024
5e6ded4
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Apr 3, 2024
59223d0
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Apr 4, 2024
bf34e0e
review-1
mdaneri Apr 4, 2024
704111d
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Apr 6, 2024
a92ac80
docs update
mdaneri Apr 6, 2024
1c8809b
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Apr 8, 2024
a3bf667
fix issues reported by _Test
mdaneri Apr 8, 2024
4b3e436
Documentation fixes
mdaneri Apr 9, 2024
1ecf5c4
Merge remote-tracking branch 'upstream/develop' into develop
mdaneri Apr 11, 2024
f5a96c6
first round
mdaneri Apr 12, 2024
8613f9e
second round
mdaneri Apr 12, 2024
f724e50
Third iteration
mdaneri Apr 13, 2024
73e5ca6
Fix ConvertTo-PodeYamlInternal Tests
mdaneri Apr 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -258,5 +258,10 @@ $RECYCLE.BIN/

# Windows shortcuts
*.lnk
.vscode/launch.json
Pode.sln
examples/FileBrowser/wwwFiles/
examples/PetStore/data/PetData.json

packers/choco/pode.nuspec
packers/choco/tools/ChocolateyInstall.ps1
1,196 changes: 1,194 additions & 2 deletions LICENSE.txt

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions docs/Hosting/RunAsService.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,55 @@ To stop the service afterwards, you can use the following:
```powershell
sudo systemctl stop pode-server
```
### Using Ports Below 1024

#### Introduction

Traditionally in Linux, binding to ports below 1024 requires root privileges. This is a security measure, as these low-numbered ports are considered privileged. However, running applications as the root user poses significant security risks. This article explores methods to use these privileged ports with PowerShell (`pwsh`) in Linux, without running it as the root user.
There are different methods to achieve the goals.
Reverse Proxy is the right approach for a production environment, primarily if the server is connected directly to the internet.
The other solutions are reasonable after an in-depth risk analysis.

#### Using a Reverse Proxy

A reverse proxy like Nginx can listen on the privileged port and forward requests to your application running on an unprivileged port.

**Configuration:**

* Configure Nginx to listen on port 443 and forward requests to the port where your PowerShell script is listening.
* This method is widely used in web applications for its additional benefits like load balancing and SSL termination.

#### iptables Redirection

Using iptables, you can redirect traffic from a privileged port to a higher, unprivileged port.

**Implementation:**
* Set up an iptables rule to redirect traffic from, say, port 443 to a higher port where your PowerShell script is listening.

* `sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8080`

**Benefits:**
* This approach doesn't require changing the privileges of the PowerShell executable or script.

#### Using `setcap` Command

The `setcap` utility can grant specific capabilities to an executable, like `pwsh`, enabling it to bind to privileged ports.

**How it Works:**
* Run `sudo setcap 'cap_net_bind_service=+ep' $(which pwsh)`. This command sets the `CAP_NET_BIND_SERVICE` capability on the PowerShell executable, allowing it to bind to any port below 1024.

**Security Consideration:**
* This method enhances security by avoiding running PowerShell as root, but it still grants significant privileges to the PowerShell process.

#### Utilizing Authbind

Authbind is a tool that allows a non-root user to bind to privileged ports.

**Setup:**
* Install Authbind, configure it to allow the desired port, and then start your PowerShell script using Authbind.
* For instance, `authbind --deep pwsh yourscript.ps1` allows the script to bind to a privileged port.

**Advantages:**
* It provides a finer-grained control over port access and doesn't require setting special capabilities on the PowerShell binary itself.


31 changes: 16 additions & 15 deletions docs/Tutorials/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,18 +68,19 @@ A "path" like `Server.Ssl.Protocols` looks like the below in the file:
}
```

| Path | Description | Docs |
| ------------------------------ | ----------------------------------------------------------------------- | ------------------------------------------ |
| Server.Ssl.Protocols | Indicates the SSL Protocols that should be used | [link](../Certificates) |
| Server.Request | Defines request timeout and maximum body size | [link](../RequestLimits) |
| Server.AutoImport | Defines the AutoImport scoping rules for Modules, SnapIns and Functions | [link](../Scoping) |
| Server.Logging | Defines extra configuration for Logging, like masking sensitive data | [link](../Logging/Overview) |
| Server.Root | Overrides root path of the server | [link](../Misc/ServerRoot) |
| Server.Restart | Defines configuration for automatically restarting the server | [link](../Restarting/Types/AutoRestarting) |
| Server.FileMonitor | Defines configuration for restarting the server based on file updates | [link](../Restarting/Types/FileMonitoring) |
| Web.Static.ValidateLast | Changes the way routes are processed. | [link](../Routes/Utilities/StaticContent) |
| Web.TransferEncoding | Sets the Request TransferEncoding | [link](../Compression/Requests) |
| Web.Compression | Sets any compression to use on the Response | [link](../Compression/Responses) |
| Web.ContentType | Define expected Content Types for certain Routes | [link](../Routes/Utilities/ContentTypes) |
| Web.ErrorPages | Defines configuration for custom error pages | [link](../Routes/Utilities/ErrorPages) |
| Web.Static | Defines configuration for static content, such as caching | [link](../Routes/Utilities/StaticContent) |
| Path | Description | Docs |
| -------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------ |
| Server.Ssl.Protocols | Indicates the SSL Protocols that should be used | [link](../Certificates) |
| Server.Request | Defines request timeout and maximum body size | [link](../RequestLimits) |
| Server.AutoImport | Defines the AutoImport scoping rules for Modules, SnapIns and Functions | [link](../Scoping) |
| Server.Logging | Defines extra configuration for Logging, like masking sensitive data | [link](../Logging/Overview) |
| Server.Root | Overrides root path of the server | [link](../Misc/ServerRoot) |
| Server.Restart | Defines configuration for automatically restarting the server | [link](../Restarting/Types/AutoRestarting) |
| Server.FileMonitor | Defines configuration for restarting the server based on file updates | [link](../Restarting/Types/FileMonitoring) |
| Web.OpenApi.DefaultDefinitionTag | Define the primary tag name for OpenAPI ( 'default' is the default) | [link](../OpenAPI/OpenAPI) |
| Web.Static.ValidateLast | Changes the way routes are processed. | [link](../Routes/Utilities/StaticContent) |
| Web.TransferEncoding | Sets the Request TransferEncoding | [link](../Compression/Requests) |
| Web.Compression | Sets any compression to use on the Response | [link](../Compression/Responses) |
| Web.ContentType | Define expected Content Types for certain Routes | [link](../Routes/Utilities/ContentTypes) |
| Web.ErrorPages | Defines configuration for custom error pages | [link](../Routes/Utilities/ErrorPages) |
| Web.Static | Defines configuration for static content, such as caching | [link](../Routes/Utilities/StaticContent) |
Loading
Loading