File tree Expand file tree Collapse file tree 3 files changed +52
-1
lines changed
Sources/AlgoliaSearchClient
Models/Settings/Auxiliary
Tests/AlgoliaSearchClientTests/Unit Expand file tree Collapse file tree 3 files changed +52
-1
lines changed Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ extension CustomRankingCriterion: RawRepresentable {
32
32
guard
33
33
let prefixedString = PrefixedString ( rawValue: rawValue) ,
34
34
let prefix = Prefix ( rawValue: prefixedString. prefix) else {
35
- return nil
35
+ return nil
36
36
}
37
37
switch prefix {
38
38
case . asc:
Original file line number Diff line number Diff line change @@ -32,6 +32,11 @@ class HTTPRequestBuilder {
32
32
let timeout = command. requestOptions? . timeout ( for: command. callType) ?? configuration. timeout ( for: command. callType)
33
33
var request = URLRequest ( command: command) . setIfNotNil ( \. credentials, to: credentials)
34
34
request. addValue ( UserAgentController . httpHeaderValue, forHTTPHeaderField: HTTPHeaderKey . userAgent. rawValue)
35
+ if let defaultHeaders = configuration. defaultHeaders {
36
+ for header in defaultHeaders {
37
+ request. addValue ( header. value, forHTTPHeaderField: header. key. rawValue)
38
+ }
39
+ }
35
40
return HTTPRequest ( requester: requester,
36
41
retryStrategy: retryStrategy,
37
42
request: request,
Original file line number Diff line number Diff line change
1
+ //
2
+ // CustomClientConfigurationTests.swift
3
+ //
4
+ //
5
+ // Created by Vladislav Fitc on 27/11/2023.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ import Foundation
11
+ import XCTest
12
+ @testable import AlgoliaSearchClient
13
+
14
+ class CustomClientConfigurationTests : XCTestCase {
15
+
16
+ func testCustomHeaders( ) throws {
17
+ let configuration = SearchConfiguration ( applicationID: " undefined " , apiKey: " undefined " )
18
+ . set ( \. defaultHeaders, to: [ " default-header " : " default-header-value " ] )
19
+
20
+ let requester = TestRequester ( )
21
+
22
+ let client = SearchClient ( configuration: configuration,
23
+ requester: requester)
24
+
25
+ let exp = expectation ( description: " method call " )
26
+
27
+ requester. onRequest = { request in
28
+ let headers = request. allHTTPHeaderFields ?? [ : ]
29
+ XCTAssert ( headers. contains ( where: { $0. key == " default-header " && $0. value == " default-header-value " } ) )
30
+ XCTAssert ( ( request. allHTTPHeaderFields ?? [ : ] ) . contains ( where: { $0. key == " another-header " && $0. value == " another-value " } ) )
31
+ exp. fulfill ( )
32
+ }
33
+
34
+ let queries : [ MultiSearchQuery ] = [
35
+ . hitsSearch( . init( indexName: " some-index " , query: " search " ) )
36
+ ]
37
+
38
+ let requestOptions = RequestOptions ( headers: [ " another-header " : " another-value " ] )
39
+
40
+ client. search ( queries: queries, requestOptions: requestOptions) { _ in }
41
+
42
+ waitForExpectations ( timeout: 5 )
43
+
44
+ }
45
+
46
+ }
You can’t perform that action at this time.
0 commit comments