| | | 1 | | <# |
| | | 2 | | .SYNOPSIS |
| | | 3 | | Adds request decompression middleware to the server. |
| | | 4 | | .DESCRIPTION |
| | | 5 | | Enables ASP.NET Core RequestDecompression middleware so Content-Encoding |
| | | 6 | | (gzip/deflate/br) request bodies are transparently decompressed before |
| | | 7 | | Kestrun parses form payloads. |
| | | 8 | | .PARAMETER AllowedEncoding |
| | | 9 | | The allowed request encodings (gzip, deflate, br). If omitted, defaults are used. |
| | | 10 | | .EXAMPLE |
| | | 11 | | $server | Add-KrRequestDecompressionMiddleware -AllowedEncoding gzip, br |
| | | 12 | | .EXAMPLE |
| | | 13 | | Add-KrRequestDecompressionMiddleware -AllowedEncoding gzip |
| | | 14 | | #> |
| | | 15 | | function Add-KrRequestDecompressionMiddleware { |
| | | 16 | | [KestrunRuntimeApi('Definition')] |
| | | 17 | | [CmdletBinding()] |
| | | 18 | | param( |
| | | 19 | | [string[]]$AllowedEncoding |
| | | 20 | | ) |
| | | 21 | | |
| | 0 | 22 | | $Server = Resolve-KestrunServer |
| | | 23 | | |
| | 0 | 24 | | if ($PSBoundParameters.ContainsKey('AllowedEncoding')) { |
| | 0 | 25 | | [Kestrun.Hosting.Compression.KrRequestDecompressionExtensions]::AddRequestDecompression($Server, $AllowedEncodin |
| | | 26 | | } else { |
| | 0 | 27 | | [Kestrun.Hosting.Compression.KrRequestDecompressionExtensions]::AddRequestDecompression($Server) | Out-Null |
| | | 28 | | } |
| | | 29 | | } |