Skip to content

Commit

Permalink
Remove queue scan spam from logs
Browse files Browse the repository at this point in the history
  • Loading branch information
Timofey Solonin committed Apr 15, 2022
1 parent 6d2722a commit 59ff1af
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 21 deletions.
18 changes: 9 additions & 9 deletions Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@
"version": "1.0.46"
}
},
{
"package": "CommandLineToolkit",
"repositoryURL": "https://github.com/avito-tech/CommandLineToolkit.git",
"state": {
"branch": null,
"revision": "16612e46a7e6af9678d37a851a65500c533da65e",
"version": "1.0.10"
}
},
{
"package": "CountedSet",
"repositoryURL": "https://github.com/0x7fs/CountedSet",
Expand All @@ -37,15 +46,6 @@
"version": "1.0.5"
}
},
{
"package": "CommandLineToolkit",
"repositoryURL": "https://github.com/avito-tech/CommandLineToolkit.git",
"state": {
"branch": null,
"revision": "16612e46a7e6af9678d37a851a65500c533da65e",
"version": "1.0.10"
}
},
{
"package": "OrderedSet",
"repositoryURL": "https://github.com/Weebly/OrderedSet",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public final class QueueServerVersionFetcherImpl: QueueServerVersionFetcher {
requestSender.sendRequestWithCallback(
request: QueueVersionRequest(),
callbackQueue: callbackQueue,
logFailedRequest: false,
callback: { (result: Either<QueueVersionResponse, RequestSenderError>) in
completion(
result.mapResult {
Expand Down
9 changes: 3 additions & 6 deletions Sources/RequestSender/RequestSender.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@ public protocol RequestSender {
request: NetworkRequestType,
credentials: Credentials?,
callbackQueue: DispatchQueue,
callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
)

func sendRequestWithCallback<NetworkRequestType: NetworkRequest>(
request: NetworkRequestType,
callbackQueue: DispatchQueue,
logFailedRequest: Bool,
callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
)

Expand All @@ -24,12 +19,14 @@ extension RequestSender {
public func sendRequestWithCallback<NetworkRequestType: NetworkRequest>(
request: NetworkRequestType,
callbackQueue: DispatchQueue,
logFailedRequest: Bool = true,
callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
) {
self.sendRequestWithCallback(
request: request,
credentials: nil,
callbackQueue: callbackQueue,
logFailedRequest: logFailedRequest,
callback: callback
)
}
Expand Down
14 changes: 10 additions & 4 deletions Sources/RequestSender/RequestSenderImpl.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,15 @@ public final class RequestSenderImpl: RequestSender {
request: NetworkRequestType,
credentials: Credentials?,
callbackQueue: DispatchQueue,
logFailedRequest: Bool,
callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
) {
do {
try sendRequest(
request: request,
credentials: credentials,
callbackQueue: callbackQueue,
logFailedRequest: logFailedRequest,
callback: callback
)
} catch {
Expand All @@ -50,6 +52,7 @@ public final class RequestSenderImpl: RequestSender {
request: NetworkRequestType,
credentials: Credentials?,
callbackQueue: DispatchQueue,
logFailedRequest: Bool,
callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
) throws {
let url = try createUrl(pathWithSlash: request.pathWithLeadingSlash)
Expand All @@ -58,9 +61,9 @@ public final class RequestSenderImpl: RequestSender {
guard !isClosed else {
throw RequestSenderError.sessionIsClosed(url)
}

var urlRequest = URLRequest(url: url, cachePolicy: .reloadIgnoringLocalCacheData, timeoutInterval: .infinity)
urlRequest.addValue("Content-Type", forHTTPHeaderField: "application/json")
urlRequest.addValue("application/json", forHTTPHeaderField: "Content-Type")
urlRequest.httpMethod = request.httpMethod.value
urlRequest.httpBody = try buildHttpBody(payload: request.payload)
urlRequest.timeoutInterval = request.timeout
Expand All @@ -70,7 +73,7 @@ public final class RequestSenderImpl: RequestSender {
urlRequest.setValue("Basic \(loginString)", forHTTPHeaderField: "Authorization")
}

launchDataTask(url: url, urlRequest: urlRequest, callbackQueue: callbackQueue, callback: callback)
launchDataTask(url: url, urlRequest: urlRequest, callbackQueue: callbackQueue, logFailedRequest: logFailedRequest, callback: callback)
}

private func buildHttpBody<PayloadType: Encodable>(payload: PayloadType?) throws -> Data? {
Expand All @@ -82,13 +85,16 @@ public final class RequestSenderImpl: RequestSender {
url: URL,
urlRequest: URLRequest,
callbackQueue: DispatchQueue,
logFailedRequest: Bool,
callback: @escaping (Either<ResponseType, RequestSenderError>) -> ()
) {
let logger = self.logger.withMetadata(key: "url", value: url.absoluteString)

let dataTask = urlSession.dataTask(with: urlRequest) { (data: Data?, response: URLResponse?, error: Error?) in
if let error = error {
logger.error("Failed to perform request to \(url): \(error)")
if logFailedRequest {
logger.error("Failed to perform request to \(url): \(error)")
}
callbackQueue.async { callback(.error(.communicationError(error))) }
return
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ class DefaultRuntimeDumpRemoteCache: RuntimeDumpRemoteCache {
sender.sendRequestWithCallback(
request: request,
credentials: config.credentials,
callbackQueue: callbackQueue
callbackQueue: callbackQueue,
logFailedRequest: false
) { result in
callbackWaiter.set(result: result)
}
Expand All @@ -58,7 +59,8 @@ class DefaultRuntimeDumpRemoteCache: RuntimeDumpRemoteCache {
sender.sendRequestWithCallback(
request: request,
credentials: config.credentials,
callbackQueue: callbackQueue
callbackQueue: callbackQueue,
logFailedRequest: false
) { (result: Either<VoidPayload, RequestSenderError>) in
callbackWaiter.set(result: result.right)
}
Expand Down
1 change: 1 addition & 0 deletions Tests/RequestSenderTestHelpers/FakeRequestSender.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ open class FakeRequestSender: RequestSender {
request: NetworkRequestType,
credentials: Credentials?,
callbackQueue: DispatchQueue,
logFailedRequest: Bool,
callback: @escaping (Either<NetworkRequestType.Response, RequestSenderError>) -> ()
) {
self.request = request
Expand Down
2 changes: 2 additions & 0 deletions Tests/RequestSenderTests/RequestSenderTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ final class RequestSenderTests: XCTestCase {
request: FakeNetworkRequest(),
credentials: credentials,
callbackQueue: callbackQueue,
logFailedRequest: false,
callback: { _ in }
)
wait(for: [requestSent], timeout: 10)
Expand All @@ -116,6 +117,7 @@ final class RequestSenderTests: XCTestCase {
request: FakeNetworkRequest(),
credentials: nil,
callbackQueue: callbackQueue,
logFailedRequest: false,
callback: { _ in }
)
wait(for: [requestSent], timeout: 10)
Expand Down

0 comments on commit 59ff1af

Please sign in to comment.