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 {
3232 guard
3333 let prefixedString = PrefixedString ( rawValue: rawValue) ,
3434 let prefix = Prefix ( rawValue: prefixedString. prefix) else {
35- return nil
35+ return nil
3636 }
3737 switch prefix {
3838 case . asc:
Original file line number Diff line number Diff line change @@ -32,6 +32,11 @@ class HTTPRequestBuilder {
3232 let timeout = command. requestOptions? . timeout ( for: command. callType) ?? configuration. timeout ( for: command. callType)
3333 var request = URLRequest ( command: command) . setIfNotNil ( \. credentials, to: credentials)
3434 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+ }
3540 return HTTPRequest ( requester: requester,
3641 retryStrategy: retryStrategy,
3742 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