mirror of
https://github.com/swift-server/async-http-client.git
synced 2026-06-02 07:37:34 +00:00
Since most of the servers now conform to http2, the change here updates the behaviour of assuming the connection to be http2 and not http1 by default. It will migrate to http1 if the server only supports http1. One can set the `httpVersion` in `ClientConfiguration` to `.http1Only` which will start with http1 instead of http2. Additional Changes: - Fixed an off by one error in the maximum additional general purpose connection check - Updated tests --------- Co-authored-by: Ayush Garg <ayushgarg@apple.com> Co-authored-by: David Nadoba <d_nadoba@apple.com> Co-authored-by: Fabian Fett <fabianfett@apple.com>
87 lines
4.0 KiB
Swift
87 lines
4.0 KiB
Swift
// swift-tools-version:5.8
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the AsyncHTTPClient open source project
|
|
//
|
|
// Copyright (c) 2018-2019 Apple Inc. and the AsyncHTTPClient project authors
|
|
// Licensed under Apache License v2.0
|
|
//
|
|
// See LICENSE.txt for license information
|
|
// See CONTRIBUTORS.txt for the list of AsyncHTTPClient project authors
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "async-http-client",
|
|
products: [
|
|
.library(name: "AsyncHTTPClient", targets: ["AsyncHTTPClient"]),
|
|
],
|
|
dependencies: [
|
|
.package(url: "https://github.com/apple/swift-nio.git", from: "2.62.0"),
|
|
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.27.1"),
|
|
.package(url: "https://github.com/apple/swift-nio-http2.git", from: "1.19.0"),
|
|
.package(url: "https://github.com/apple/swift-nio-extras.git", from: "1.13.0"),
|
|
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.19.0"),
|
|
.package(url: "https://github.com/apple/swift-log.git", from: "1.4.4"),
|
|
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.0.2"),
|
|
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
|
|
.package(url: "https://github.com/apple/swift-algorithms", from: "1.0.0"),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "CAsyncHTTPClient",
|
|
cSettings: [
|
|
.define("_GNU_SOURCE"),
|
|
]
|
|
),
|
|
.target(
|
|
name: "AsyncHTTPClient",
|
|
dependencies: [
|
|
.target(name: "CAsyncHTTPClient"),
|
|
.product(name: "NIO", package: "swift-nio"),
|
|
.product(name: "NIOTLS", package: "swift-nio"),
|
|
.product(name: "NIOCore", package: "swift-nio"),
|
|
.product(name: "NIOPosix", package: "swift-nio"),
|
|
.product(name: "NIOHTTP1", package: "swift-nio"),
|
|
.product(name: "NIOConcurrencyHelpers", package: "swift-nio"),
|
|
.product(name: "NIOHTTP2", package: "swift-nio-http2"),
|
|
.product(name: "NIOSSL", package: "swift-nio-ssl"),
|
|
.product(name: "NIOHTTPCompression", package: "swift-nio-extras"),
|
|
.product(name: "NIOSOCKS", package: "swift-nio-extras"),
|
|
.product(name: "NIOTransportServices", package: "swift-nio-transport-services"),
|
|
.product(name: "Logging", package: "swift-log"),
|
|
.product(name: "Atomics", package: "swift-atomics"),
|
|
.product(name: "Algorithms", package: "swift-algorithms"),
|
|
]
|
|
),
|
|
.testTarget(
|
|
name: "AsyncHTTPClientTests",
|
|
dependencies: [
|
|
.target(name: "AsyncHTTPClient"),
|
|
.product(name: "NIOTLS", package: "swift-nio"),
|
|
.product(name: "NIOCore", package: "swift-nio"),
|
|
.product(name: "NIOConcurrencyHelpers", package: "swift-nio"),
|
|
.product(name: "NIOEmbedded", package: "swift-nio"),
|
|
.product(name: "NIOFoundationCompat", package: "swift-nio"),
|
|
.product(name: "NIOTestUtils", package: "swift-nio"),
|
|
.product(name: "NIOSSL", package: "swift-nio-ssl"),
|
|
.product(name: "NIOHTTP2", package: "swift-nio-http2"),
|
|
.product(name: "NIOSOCKS", package: "swift-nio-extras"),
|
|
.product(name: "Logging", package: "swift-log"),
|
|
.product(name: "Atomics", package: "swift-atomics"),
|
|
.product(name: "Algorithms", package: "swift-algorithms"),
|
|
],
|
|
resources: [
|
|
.copy("Resources/self_signed_cert.pem"),
|
|
.copy("Resources/self_signed_key.pem"),
|
|
.copy("Resources/example.com.cert.pem"),
|
|
.copy("Resources/example.com.private-key.pem"),
|
|
]
|
|
),
|
|
]
|
|
)
|