< Summary - Kestrun — Combined Coverage

Information
Class: Public.Response.Write-KrXmlResponse
Assembly: Kestrun.PowerShell.Public
File(s): /home/runner/work/Kestrun/Kestrun/src/PowerShell/Kestrun/Public/Response/Write-KrXmlResponse.ps1
Tag: Kestrun/Kestrun@2d87023b37eb91155071c91dd3d6a2eeb3004705
Line coverage
0%
Covered lines: 0
Uncovered lines: 6
Coverable lines: 6
Total lines: 55
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 08/26/2025 - 01:25:22 Line coverage: 0% (0/2) Total lines: 37 Tag: Kestrun/Kestrun@07f821172e5dc3657f1be7e6818f18d6721cf38a09/04/2025 - 18:11:31 Line coverage: 0% (0/2) Total lines: 38 Tag: Kestrun/Kestrun@de99e24698289f3f61ac7b73e96092732ae12b0509/12/2025 - 03:43:11 Line coverage: 0% (0/3) Total lines: 41 Tag: Kestrun/Kestrun@d160286e3020330b1eb862d66a37db2e26fc904209/16/2025 - 16:28:42 Line coverage: 0% (0/6) Total lines: 55 Tag: Kestrun/Kestrun@d5c0d6132e97ca542441289c02a4c9e9d0364d49

Metrics

File(s)

/home/runner/work/Kestrun/Kestrun/src/PowerShell/Kestrun/Public/Response/Write-KrXmlResponse.ps1

#LineLine coverage
 1<#
 2    .SYNOPSIS
 3        Writes an object serialized as XML to the HTTP response.
 4
 5    .DESCRIPTION
 6        Converts the provided object to XML and writes it to the response body. The
 7        status code and content type can be customized.
 8    .PARAMETER InputObject
 9        The object to serialize and write to the response body. This can be any
 10        PowerShell object, including complex types.
 11    .PARAMETER StatusCode
 12        The HTTP status code to set for the response. Defaults to 200 (OK).
 13    .PARAMETER ContentType
 14        The content type of the response. If not specified, defaults to "application/xml".
 15    .EXAMPLE
 16        Write-KrXmlResponse -InputObject $myObject -StatusCode 200 -ContentType "application/kestrun-xml"
 17        Writes the $myObject serialized as XML (<kestrun-xml>) to the response with a 200 status code
 18        and content type "application/kestrun-xml".
 19    .NOTES
 20        This function is designed to be used in the context of a Kestrun server response.
 21#>
 22function Write-KrXmlResponse {
 23    [KestrunRuntimeApi('Route')]
 24    [CmdletBinding()]
 25    param(
 26        [Parameter(Mandatory = $true, ValueFromPipeline = $true)]
 27        [object]$InputObject,
 28        [Parameter()]
 29        [int]$StatusCode = 200,
 30        [Parameter()]
 31        [string]$ContentType
 32    )
 33    begin {
 34        # Collect all piped items
 035        $items = [System.Collections.Generic.List[object]]::new()
 36    }
 37    process {
 38        # Accumulate; no output yet
 039        $items.Add($InputObject)
 40    }
 41    end {
 42        # Only works inside a route script block where $Context is available
 043        if ($null -eq $Context -or $null -eq $Context.Response) {
 044            Write-KrOutsideRouteWarning
 45            return
 46        }
 47        #  - single item by default when only one was piped
 48        #  - array if multiple items were piped
 049        $payload = if ($items.Count -eq 1) { $items[0] } else { $items.ToArray() }
 50
 51        # Write the XML response
 052        $Context.Response.WriteXmlResponse($payload, $StatusCode, $ContentType)
 53    }
 54}
 55

Methods/Properties

Write-KrXmlResponse()