Skip to content

Commit 2c7301e

Browse files
committed
Merge branch 'develop' into main
2 parents 2b82dba + 927dab1 commit 2c7301e

5 files changed

Lines changed: 21 additions & 5 deletions

File tree

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import PackageDescription
55
let package = Package(
66
name: "NetworkRequester",
77
platforms: [
8-
.iOS(.v13),
8+
.iOS(.v11),
99
.macOS(.v10_15),
1010
.tvOS(.v13),
1111
],

Sources/NetworkRequester/HTTP/HTTPBody.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public struct HTTPBody {
1111
/// - Parameters:
1212
/// - encodable: An encodable data model that would be transformed to `Data`.
1313
/// - jsonEncoder: An encoder that would do the transformation of the data model.
14-
public init<T: Encodable>(encodable: T, jsonEncoder: JSONEncoder) {
14+
public init<E: Encodable>(encodable: E, jsonEncoder: JSONEncoder) {
1515
self.data = {
1616
do {
1717
return try jsonEncoder.encode(encodable)

Sources/NetworkRequester/URLRequestCaller.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Foundation
22
import Combine
33

44
/// Use this object to make network calls and receive decoded values wrapped into Combine's `AnyPublisher`.
5+
@available(iOS 13.0, *)
56
public struct URLRequestCaller {
67
public typealias AnyURLSessionDataPublisher = AnyPublisher<URLSession.DataTaskPublisher.Output, URLSession.DataTaskPublisher.Failure>
78

Tests/NetworkRequesterTests/ExtensionsTests/URLRequestExtensionTests.swift

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import XCTest
22
@testable import NetworkRequester
33

44
final class URLRequestExtensionTests: XCTestCase {
5-
func testAddingHeader() throws {
5+
func testAddHeaders() throws {
66
var request = URLRequest(url: URL(string: "https://google.com")!)
77

88
let header1 = HTTPHeader(name: "headerField", value: "headerValue")
@@ -18,7 +18,7 @@ final class URLRequestExtensionTests: XCTestCase {
1818
XCTAssertEqual(header2Value, "headerValue2")
1919
}
2020

21-
func testAddingMultipleHeaders() throws {
21+
func testAddMultipleHeadersAtOnce() throws {
2222
var request = URLRequest(url: URL(string: "https://google.com")!)
2323

2424
let header1 = HTTPHeader(name: "headerField", value: "headerValue")
@@ -34,4 +34,18 @@ final class URLRequestExtensionTests: XCTestCase {
3434
let header2Value = try XCTUnwrap(headers["headerField2"])
3535
XCTAssertEqual(header2Value, "headerValue2")
3636
}
37+
38+
func testAddMulpleHeadersWithTheSameName() throws {
39+
let header1 = HTTPHeader.authorization(bearerToken: "secret-bearer-token")
40+
let header2 = HTTPHeader.authorization(token: "secret-auth-token")
41+
42+
var request = URLRequest(url: URL(string: "https://google.com")!)
43+
request.addHeaders([header1, header2])
44+
45+
let headers = try XCTUnwrap(request.allHTTPHeaderFields)
46+
XCTAssertEqual(headers.count, 1)
47+
48+
let headerValue = try XCTUnwrap(headers["Authorization"])
49+
XCTAssertEqual(headerValue, [header1.value, header2.value].joined(separator: ","))
50+
}
3751
}

Tests/NetworkRequesterTests/URLRequestCallerTests.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import XCTest
22
import Combine
33
@testable import NetworkRequester
44

5+
@available(iOS 13.0, *)
56
final class URLRequestCallerTests: XCTestCase {
67
private var encodedData: Data {
78
let testableModel = TestEncodable(name: "first name", age: 1236)
@@ -311,7 +312,7 @@ final class URLRequestCallerTests: XCTestCase {
311312
.store(in: &cancellables)
312313
}
313314
}
314-
315+
@available(iOS 13.0, *)
315316
private extension URLRequestCallerTests {
316317
struct TestEncodable: Codable {
317318
let name: String

0 commit comments

Comments
 (0)