Skip to content

Commit cf05ca7

Browse files
committed
Add Sec-WebSocket-Protocol header
Tests all use test.mosquitto.org server now
1 parent b64d4a1 commit cf05ca7

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

Sources/MQTTNIO/MQTTChannelHandlers.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ struct ByteToMQTTMessageDecoder: ByteToMessageDecoder {
3030

3131
mutating func decode(context: ChannelHandlerContext, buffer: inout ByteBuffer) throws -> DecodingState {
3232
do {
33-
//print(buffer.readableBytesView.map {String(format: "0x%02x", $0)})
3433
let packet = try MQTTSerializer.readIncomingPacket(from: &buffer)
3534
let message: MQTTInboundMessage
3635
switch packet.type {

Sources/MQTTNIO/WebSocketInitialRequest.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ final class WebSocketInitialRequestHandler: ChannelInboundHandler, RemovableChan
2424
headers.add(name: "Content-Type", value: "text/plain; charset=utf-8")
2525
headers.add(name: "Content-Length", value: "\(0)")
2626
headers.add(name: "host", value: host)
27+
headers.add(name: "Sec-WebSocket-Protocol", value: "mqttv3.1")
2728

2829
let requestHead = HTTPRequestHead(version: HTTPVersion(major: 1, minor: 1),
2930
method: .GET,

Tests/MQTTNIOTests/MQTTNIOTests.swift

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import XCTest
22
import NIO
3+
import NIOHTTP1
34
import NIOSSL
45
@testable import MQTTNIO
56

@@ -32,27 +33,27 @@ final class MQTTNIOTests: XCTestCase {
3233
m/XriWr/Cq4h/JfB7NTsezVslgkBaoU=
3334
-----END CERTIFICATE-----
3435
"""
35-
36+
3637
func createClient(cb: @escaping (Result<MQTTPublishInfo, Swift.Error>) -> () = { _ in }) -> MQTTClient {
37-
MQTTClient(host: "mqtt.eclipse.org", port: 1883, eventLoopGroupProvider: .createNew, publishCallback: cb)
38+
MQTTClient(host: "test.mosquitto.org", port: 1883, eventLoopGroupProvider: .createNew, publishCallback: cb)
3839
}
3940
func createWebSocketClient(cb: @escaping (Result<MQTTPublishInfo, Swift.Error>) -> () = { _ in }) -> MQTTClient {
4041
MQTTClient(
41-
host: "broker.hivemq.com",
42-
port: 8000,
42+
host: "test.mosquitto.org",
43+
port: 8080,
4344
eventLoopGroupProvider: .createNew,
4445
configuration: .init(useWebSockets: true, webSocketURLPath: "/mqtt"),
4546
publishCallback: cb
4647
)
4748
}
4849
func createSSLClient(cb: @escaping (Result<MQTTPublishInfo, Swift.Error>) -> () = { _ in }) throws -> MQTTClient {
4950
let rootCertificate = try NIOSSLCertificate.fromPEMBytes([UInt8](mosquittoCertificate.utf8))
50-
//let key = try NIOSSLPrivateKey(bytes: [UInt8](macbookProKey.utf8), format: .pem)
5151
let tlsConfiguration: TLSConfiguration? = TLSConfiguration.forClient(
5252
trustRoots: .certificates(rootCertificate)
5353
)
5454
return MQTTClient(
5555
host: "test.mosquitto.org",
56+
port: 8883,
5657
eventLoopGroupProvider: .createNew,
5758
configuration: .init(useSSL: true, tlsConfiguration: tlsConfiguration),
5859
publishCallback: cb

0 commit comments

Comments
 (0)