Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support PMCE on WebSockets #145

Closed
wants to merge 131 commits into from
Closed
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
f479096
restored
jhoughjr Jul 2, 2023
7d87990
wip finishing touches for header based Zlib config beyond what pmce s…
jhoughjr Jul 2, 2023
8b0e960
wip extended header api
jhoughjr Jul 2, 2023
88184d0
wip
jhoughjr Jul 3, 2023
e0c16f3
wip zlib header optsions.
jhoughjr Jul 3, 2023
2e4f55e
wip some notes
jhoughjr Jul 3, 2023
c959ef4
added the zlib fields to header constructor. Loggers ready in configs…
jhoughjr Jul 3, 2023
0dc0bc0
wip configs(from)
jhoughjr Jul 3, 2023
82e87bd
wip handling client with no pmce on a server with pmce available.
jhoughjr Jul 5, 2023
a76388c
wip idk why I bother.
jhoughjr Jul 5, 2023
5e6d46f
wip PMCE enable disable not by if configured but if client requests it.
jhoughjr Jul 5, 2023
be4a1ea
some final cleanup before the PR is prepared.
jhoughjr Jul 5, 2023
a38e2fd
wip cleanup for PR
jhoughjr Jul 5, 2023
f777434
removed unused test idea
jhoughjr Jul 5, 2023
ecb2dff
Merge branch 'vapor:main' into main
jhoughjr Jul 5, 2023
07680dc
added swift-log to websocket-kit. replaced prints with logger.debug a…
jhoughjr Jul 6, 2023
7295fa0
wip addressing review.
jhoughjr Jul 6, 2023
64ae251
added a few config tests to cover parsingm but its really covered by …
jhoughjr Jul 6, 2023
44a29cb
removed some comments
jhoughjr Jul 6, 2023
46f258e
cleanup prints
jhoughjr Jul 6, 2023
66221d6
removed old comment
jhoughjr Jul 6, 2023
a6ef521
more cleanup
jhoughjr Jul 6, 2023
756216d
update to CompressNIO 1.0.0
jhoughjr Jul 12, 2023
6344545
wip
jhoughjr Jul 19, 2023
9fc1ec7
Merge branch 'main' of github.com:jhoughjr/websocket-kit
jhoughjr Jul 20, 2023
88ab5d5
removing enabled var as it isnt needed?
jhoughjr Jul 29, 2023
cfaf09c
public config, enabled is back for now.
jhoughjr Jul 30, 2023
de7b10f
investigating browser not liking additional fields
jhoughjr Jul 31, 2023
77b09b1
headers method can now optionally appended extended zlib config. WIP
jhoughjr Jul 31, 2023
9ceb325
bringing back enabled var. Eliminated a force unwrap. WIP browser bad…
jhoughjr Jul 31, 2023
bd94c10
better logging WIP
jhoughjr Aug 1, 2023
8ac2e6d
wip logging
jhoughjr Aug 1, 2023
7436233
wip. Refactors. More convenience methods added to ZlibConfiguration.
jhoughjr Aug 1, 2023
99ffff1
cant stop streams because of a private assertion :/
jhoughjr Aug 1, 2023
35d8ce5
fixed assertion issue?
jhoughjr Aug 1, 2023
aa86226
some refactor and cleanup WIP
jhoughjr Aug 7, 2023
07373de
some cleanup of comments.
jhoughjr Aug 10, 2023
b9a0e9d
rename
jhoughjr Aug 10, 2023
568446b
renames
jhoughjr Aug 10, 2023
65d9f2b
wip xtended zlbconfg
jhoughjr Aug 10, 2023
c4588f0
wip
jhoughjr Aug 10, 2023
a43f611
wip enable logging by default for debugging
jhoughjr Aug 10, 2023
f9c7340
wip xt headers
jhoughjr Aug 10, 2023
3ca5e49
wip xt config dropped
jhoughjr Aug 10, 2023
354b717
wip detecting xt properly.
jhoughjr Aug 10, 2023
252f807
wip sperating xtended headers from non to not break other picky clients
jhoughjr Aug 10, 2023
f4ff2c0
wip testing hunch
jhoughjr Aug 10, 2023
965a144
wip oops
jhoughjr Aug 10, 2023
b19f36d
wip maybe patched fingers crossed
jhoughjr Aug 10, 2023
2a2cf4f
wip investigating
jhoughjr Aug 10, 2023
2bb1410
rolling back xt
jhoughjr Aug 10, 2023
7106df4
wip
jhoughjr Aug 10, 2023
95ff8aa
dead truly is better for me.:
jhoughjr Aug 10, 2023
cb529e1
wip testing a hunch
jhoughjr Aug 10, 2023
1cbb71a
wip more logging to see whats up with node client decomp
jhoughjr Aug 11, 2023
5ebd487
wip
jhoughjr Aug 11, 2023
912ada6
more logging.
jhoughjr Aug 12, 2023
eeb27bc
logging
jhoughjr Aug 12, 2023
162da67
investigating context takeover
jhoughjr Aug 15, 2023
a3a3489
made notes
jhoughjr Aug 15, 2023
c370958
more logs to examine wrong code path
jhoughjr Aug 15, 2023
b340593
wip
jhoughjr Aug 15, 2023
428c8bc
wip unmask and decompress issue
jhoughjr Aug 17, 2023
0692fab
seems fixed but takeover is still broken.
jhoughjr Aug 17, 2023
ad1690c
Fix naming for deprecated in PMCE.swift
mheh Aug 17, 2023
78aefd8
Merge pull request #1 from mheh/pmce
jhoughjr Aug 17, 2023
464a525
more logging to probe padding
jhoughjr Aug 18, 2023
c5cf71a
more logging to prep for padding
jhoughjr Aug 18, 2023
2290a2d
oops
jhoughjr Aug 18, 2023
a3b35b3
wip
jhoughjr Aug 18, 2023
4ff43b7
wip
jhoughjr Aug 18, 2023
8e9db37
clearer takeover logic wip
jhoughjr Aug 18, 2023
ea41aef
first attemp to pad and unupad for takeover. just calling not padddin…
jhoughjr Aug 20, 2023
7eb3bf8
takover 1st test
jhoughjr Aug 20, 2023
1cad1cf
I think i see the unpad error. take 2
jhoughjr Aug 20, 2023
955816e
nil logic was inverted for slice
jhoughjr Aug 21, 2023
f40ed79
ugh wup
jhoughjr Aug 21, 2023
faf7bd6
changed some logs to trace from debug. still tracing why client has d…
jhoughjr Aug 21, 2023
9f0586f
takeover seems weird to add on decomp and remove on comp
jhoughjr Aug 21, 2023
5838390
wip
jhoughjr Aug 21, 2023
793dae1
depreactions due to new api coming
jhoughjr Aug 23, 2023
0da840b
kinda broken but better api seems clear.
jhoughjr Aug 23, 2023
95d202e
need that init public derp
jhoughjr Aug 23, 2023
e1bbe62
removed headers(xt:Bool)
jhoughjr Aug 23, 2023
f4dea0b
wip
jhoughjr Aug 23, 2023
e49e54a
wip client config
jhoughjr Aug 23, 2023
b1752d5
trying something
jhoughjr Aug 23, 2023
181e581
some logging
jhoughjr Aug 23, 2023
5ca498e
some logging
jhoughjr Aug 23, 2023
4826dea
wip
jhoughjr Aug 24, 2023
9acd8fa
this should get headers out of client send
jhoughjr Aug 24, 2023
889d456
wip cleanup
jhoughjr Aug 24, 2023
c521550
wip cleanup
jhoughjr Aug 24, 2023
350070c
wip cleaning up for review and final testing
jhoughjr Aug 27, 2023
a23ab28
cleaning up
jhoughjr Aug 28, 2023
798840d
Merge branch 'vapor:main' into main
jhoughjr Aug 28, 2023
27e3e66
Update Package.swift
jhoughjr Aug 29, 2023
d06b572
Update Package.swift
jhoughjr Aug 29, 2023
7da54eb
Update Package.swift
jhoughjr Aug 29, 2023
599fc96
Update Package.swift
jhoughjr Aug 29, 2023
8de6df4
Update Sources/WebSocketKit/Exports.swift
jhoughjr Aug 29, 2023
36b63be
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
6f2c531
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
087ac6b
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
5434974
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
2412edf
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
e9d53f5
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
aeddbcd
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
d6b356f
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
bb94d95
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
7d27fba
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
fe49c4e
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
1b79bd5
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
267b992
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
59d7fc7
Update Sources/WebSocketKit/PMCE.swift
jhoughjr Aug 29, 2023
db363b2
wip review
jhoughjr Aug 29, 2023
cd7e448
wip review
jhoughjr Aug 29, 2023
0dd0210
wip review
jhoughjr Aug 29, 2023
efb85a4
wip review
jhoughjr Aug 29, 2023
044755f
wip review
jhoughjr Aug 29, 2023
9aa318b
wip review
jhoughjr Aug 29, 2023
1d4c083
wip review and fixing it being broken
jhoughjr Aug 30, 2023
340fd4e
wip why bother
jhoughjr Aug 30, 2023
d185605
more traces to see where window bts are breaking
jhoughjr Aug 30, 2023
effdd69
wip
jhoughjr Aug 30, 2023
7f78779
added Hashable to PMCECOnfig and DeflateConfig
jhoughjr Aug 30, 2023
6630c99
wip cleanup and some docs.
jhoughjr Aug 30, 2023
30f622e
wip cleanup workingn on ConfArgs
jhoughjr Aug 30, 2023
dfe82ed
wip review
jhoughjr Aug 30, 2023
342c578
default zlib strat. different error handling
jhoughjr Aug 30, 2023
2fea4f3
wip review
jhoughjr Aug 30, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,10 @@ let package = Package(
.package(url: "https://github.com/apple/swift-nio.git", from: "2.53.0"),
.package(url: "https://github.com/apple/swift-nio-extras.git", from: "1.16.0"),
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.24.0"),
.package(url:"https://github.com/adam-fowler/compress-nio.git",
from:"1.0.0"),
.package(url: "https://github.com/adam-fowler/compress-nio.git", from: "1.0.0"),
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.16.0"),
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.1.0"),
.package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"),

],
targets: [
.target(name: "WebSocketKit", dependencies: [
Expand All @@ -35,10 +33,10 @@ let package = Package(
.product(name: "NIOTransportServices", package: "swift-nio-transport-services"),
.product(name: "Atomics", package: "swift-atomics"),
.product(name:"CompressNIO", package:"compress-nio"),
.product(name: "Logging", package: "swift-log")
.product(name: "Logging", package: "swift-log"),
]),
.testTarget(name: "WebSocketKitTests", dependencies: [
.target(name: "WebSocketKit")
.target(name: "WebSocketKit"),
]),
]
)
1 change: 0 additions & 1 deletion Sources/WebSocketKit/Exports.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
@_documentation(visibility: internal) @_exported import protocol NIOCore.EventLoopGroup
@_documentation(visibility: internal) @_exported import struct NIOCore.EventLoopPromise
@_documentation(visibility: internal) @_exported import class NIOCore.EventLoopFuture

@_documentation(visibility: internal) @_exported import struct NIOHTTP1.HTTPHeaders
@_documentation(visibility: internal) @_exported import struct Foundation.URL

Expand Down
Loading