UniversalDashboard/UniversalDashboard.Community/poshud/pages/rest-apis.ps1
New-UDPage -Name "REST-APIs" -Endpoint { $OnlineVersion = 'https://github.com/ironmansoftware/universal-dashboard/blob/master/src/poshud/pages/rest-apis.ps1' New-UDElement -Tag div -Attributes @{ style = @{ paddingLeft = "20px" }} -Content { New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDHeading -Size 3 -Text "REST APIs" } } New-UDRow -Columns { New-UDButton -Icon github -Text "Edit on GitHub" -OnClick ( New-UDEndpoint -Endpoint { Invoke-UDRedirect -Url $ArgumentList[0] -OpenInNewWindow } -ArgumentList $OnlineVersion ) -BackgroundColor 'white' -FontColor 'black' } New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDHeading -Size 5 -Text "You can define REST APIs to allow herrogenous systems to interact with PowerShell over HTTP." } } New-UDElement -tag 'hr' New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDHeading -Size 4 -Text "Examples" } } New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDRestApiExample -Name "Return Data" -Description "Creates a basic GET endpoint that returns data." -Code "New-UDEndpoint -Url '/data' -Endpoint { 'Hello, World!' } " -Invocation "Invoke-RestMethod http://localhost:10001/api/data" } } New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDRestApiExample -Name "Filter Data" -Description "Filter data using route variables." -Code "New-UDEndpoint -Url '/data/:filter' -Endpoint { param(`$filter) @(1,2,3) | Where-Object { `$_ -eq `$filter } } " -Invocation "Invoke-RestMethod http://localhost:10001/api/data/1" } } New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDRestApiExample -Name "Filter Data with query string parameters" -Description "Filter data using query string parameters." -Code "New-UDEndpoint -Url '/queryData' -Endpoint { param(`$filter) @(1,2,3) | Where-Object { `$_ -eq `$filter } } " -Invocation "Invoke-RestMethod http://localhost:10001/api/queryData?filter=1" } } New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDRestApiExample -Name "Send Data to the Server" -Description "Sends data to the server via the body" -Code "New-UDEndpoint -Method POST -Url '/data' -Endpoint { param(`$Body) `$Body } " -Invocation "Invoke-RestMethod http://localhost:10001/api/data -Method POST -Body 'Echo'" } } New-UDRow -Columns { New-UDColumn -Size 12 -Content { New-UDRestApiExample -Name "Send Data via route variables" -Description "Uses route variables to send data to the endpoint on the server" -Code "New-UDEndpoint -Method POST -Url '/data/:variable' -Endpoint { param(`$variable) `$variable } " -Invocation "Invoke-RestMethod http://localhost:10001/api/data/echo -Method POST" } } } } |