Skip to content

Commit 3e9ff66

Browse files
author
James Brundage
committed
fix: Adding WebSocket pseudotypes ( Fixes #92, Fixes #93 )
1 parent 1f1ae44 commit 3e9ff66

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

Diff for: Commands/Get-WebSocket.ps1

+17-9
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ function Get-WebSocket {
1616
https://learn.microsoft.com/en-us/dotnet/api/system.net.httplistener?wt.mc_id=MVP_321542
1717
.EXAMPLE
1818
# Create a WebSocket job that connects to a WebSocket and outputs the results.
19-
Get-WebSocket -SocketUrl "wss://localhost:9669/"
19+
$socketServer = Get-WebSocket -RootUrl "http://localhost:8387/" -HTML "<h1>WebSocket Server</h1>"
20+
$socketClient = Get-WebSocket -SocketUrl "ws://localhost:8387/"
2021
.EXAMPLE
2122
# Get is the default verb, so we can just say WebSocket.
2223
# `-Watch` will output a continous stream of objects from the websocket.
23-
# For example, let's Watch BlueSky, but just the text.
24-
websocket wss://jetstream2.us-west.bsky.network/subscribe?wantedCollections=app.bsky.feed.post -Watch |
24+
# For example, let's Watch BlueSky, but just the text
25+
websocket wss://jetstream2.us-west.bsky.network/subscribe?wantedCollections=app.bsky.feed.post -Watch -Maximum 1kb |
2526
% {
2627
$_.commit.record.text
2728
}
@@ -33,14 +34,19 @@ function Get-WebSocket {
3334
"wantedCollections=app.bsky.feed.post"
3435
) -join '&')"
3536
websocket $blueSkySocketUrl -Watch |
36-
% { Write-Host "$(' ' * (Get-Random -Max 10))$($_.commit.record.text)$($(' ' * (Get-Random -Max 10)))"}
37-
.EXAMPLE
37+
% { Write-Host "$(' ' * (Get-Random -Max 10))$($_.commit.record.text)$($(' ' * (Get-Random -Max 10)))"} -Max 1kb
38+
.EXAMPLE
39+
# Watch continuously in a background job.
3840
websocket wss://jetstream2.us-east.bsky.network/subscribe?wantedCollections=app.bsky.feed.post
3941
.EXAMPLE
40-
websocket wss://jetstream2.us-west.bsky.network/subscribe -QueryParameter @{ wantedCollections = 'app.bsky.feed.post' } -Max 1 -Debug
42+
# Watch the first message in -Debug mode.
43+
# This allows you to literally debug the WebSocket messages as they are encountered.
44+
websocket wss://jetstream2.us-west.bsky.network/subscribe -QueryParameter @{
45+
wantedCollections = 'app.bsky.feed.post'
46+
} -Max 1 -Debug
4147
.EXAMPLE
4248
# Watch BlueSky, but just the emoji
43-
websocket jetstream2.us-east.bsky.network/subscribe?wantedCollections=app.bsky.feed.post -Tail |
49+
websocket jetstream2.us-east.bsky.network/subscribe?wantedCollections=app.bsky.feed.post -Tail -Max 1kb |
4450
Foreach-Object {
4551
$in = $_
4652
if ($in.commit.record.text -match '[\p{IsHighSurrogates}\p{IsLowSurrogates}]+') {
@@ -113,7 +119,6 @@ function Get-WebSocket {
113119
Group |
114120
Sort Count -Descending |
115121
Select -First 10
116-
117122
#>
118123
[CmdletBinding(
119124
PositionalBinding=$false,
@@ -1231,7 +1236,9 @@ function Get-WebSocket {
12311236
$httpListenerJob = $existingJob
12321237
$httpListener = $existingJob.HttpListener
12331238
} else {
1234-
$httpListenerJob = Start-ThreadJob -ScriptBlock $SocketServerJob -Name "$RootUrl" -ArgumentList $Variable @StartThreadJobSplat
1239+
$httpListenerJob = Start-ThreadJob -ScriptBlock $SocketServerJob -Name "$RootUrl" -ArgumentList $Variable @StartThreadJobSplat
1240+
$httpListenerJob.pstypenames.insert(0, 'WebSocket.ThreadJob')
1241+
$httpListenerJob.pstypenames.insert(0, 'WebSocket.Server.ThreadJob')
12351242
}
12361243
}
12371244

@@ -1322,6 +1329,7 @@ function Get-WebSocket {
13221329
)
13231330
}
13241331
$webSocketJob.pstypenames.insert(0, 'WebSocket.ThreadJob')
1332+
$webSocketJob.pstypenames.insert(0, 'WebSocket.Client.ThreadJob')
13251333
}
13261334

13271335
# If we're broadcasting a message

0 commit comments

Comments
 (0)