Skip to content
Open
Changes from all commits
Commits
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
14 changes: 7 additions & 7 deletions Sources/MCP/Base/Transports/HTTPClientTransport.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Foundation
import Logging

#if !os(Linux)
#if canImport(EventSource)
import EventSource
#endif

Expand Down Expand Up @@ -266,7 +266,7 @@ public actor HTTPClientTransport: Transport {
request = requestModifier(request)

do {
#if os(Linux)
#if canImport(FoundationNetworking)
let (responseData, response) = try await session.data(for: request)
try await processResponse(response: response, data: responseData)
#else
Expand Down Expand Up @@ -304,7 +304,7 @@ public actor HTTPClientTransport: Transport {
}
}

#if os(Linux)
#if canImport(FoundationNetworking)
private func processResponse(response: URLResponse, data: Data) async throws {
guard let httpResponse = response as? HTTPURLResponse else {
throw MCPError.internalError("Invalid HTTP response")
Expand All @@ -325,7 +325,7 @@ public actor HTTPClientTransport: Transport {
guard case 200..<300 = httpResponse.statusCode else { return }

if contentType.contains(ContentType.sse) {
logger.warning("SSE responses aren't fully supported on Linux")
logger.warning("SSE responses aren't fully supported on this platform")
messageContinuation.yield(data)
} else if contentType.contains(ContentType.json) {
logger.trace("Received JSON response", metadata: ["size": "\(data.count)"])
Expand Down Expand Up @@ -467,10 +467,10 @@ public actor HTTPClientTransport: Transport {
// MARK: - SSE

private func startListeningForServerEvents() async {
#if os(Linux)
#if !canImport(EventSource)
if streaming {
logger.warning(
"SSE streaming was requested but is not fully supported on Linux. SSE connection will not be attempted."
"SSE streaming was requested but is not fully supported on this platform. SSE connection will not be attempted."
)
}
#else
Expand Down Expand Up @@ -563,7 +563,7 @@ public actor HTTPClientTransport: Transport {
#endif
}

#if !os(Linux)
#if canImport(EventSource)
private func connectToEventStream() async throws {
guard isConnected else {
logger.debug("⚠️ Skipping connectToEventStream - transport not connected")
Expand Down