32 lines
784 B
PowerShell
32 lines
784 B
PowerShell
|
Param(
|
||
|
[parameter(Mandatory=$false)][string]$baseUrl = ""
|
||
|
)
|
||
|
|
||
|
class FeedRequest
|
||
|
{
|
||
|
[string] $Title
|
||
|
[string] $Url
|
||
|
[System.Collections.Generic.List[String]] $Categories
|
||
|
}
|
||
|
|
||
|
function SimulateRequest {
|
||
|
Param(
|
||
|
[int]$sleep = 100,
|
||
|
[string]$baseUrl
|
||
|
)
|
||
|
|
||
|
$feeds = [System.Collections.Generic.List[FeedRequest]](Get-Content './feeds.json' | Out-String | ConvertFrom-Json)
|
||
|
|
||
|
$feeds | ForEach-Object -ThrottleLimit 20 -Parallel {
|
||
|
Write-Host "> Requesting feed" $_.Title
|
||
|
|
||
|
Invoke-WebRequest -Method POST -Uri $using:baseUrl"v1/feeds" `
|
||
|
-Body ($_|ConvertTo-Json) `
|
||
|
-ContentType application/json
|
||
|
|
||
|
[System.Threading.Thread]::Sleep($sleep)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
SimulateRequest -baseUrl $baseUrl
|