Don't include stripe details in logs

This commit is contained in:
Nora Trapp 2021-11-18 13:29:59 -08:00
parent 14fedf2450
commit 8107430ca3
5 changed files with 18 additions and 21 deletions

View File

@ -160,18 +160,18 @@ extension OWSURLSession {
var backgroundTask: OWSBackgroundTask? = OWSBackgroundTask(label: "\(#function)")
Logger.verbose("Making request: \(request.logDescription)")
Logger.verbose("Making request: \(rawRequest.description)")
return firstly(on: .global()) { () throws -> Promise<HTTPResponse> in
urlSession.uploadTaskPromise(request: request, data: requestBody)
}.map(on: .global()) { (response: HTTPResponse) -> HTTPResponse in
Logger.info("Success: \(request.logDescription)")
Logger.info("Success: \(rawRequest.description)")
return response
}.ensure(on: .global()) {
owsAssertDebug(backgroundTask != nil)
backgroundTask = nil
}.recover(on: .global()) { error -> Promise<HTTPResponse> in
Logger.warn("Failure: \(request.logDescription), error: \(error)")
Logger.warn("Failure: \(rawRequest.description), error: \(error)")
throw error
}
}
@ -183,18 +183,3 @@ extension OWSURLSession {
public extension TSRequest {
var canUseAuth: Bool { !isUDRequest }
}
// MARK: -
public extension URLRequest {
var logDescription: String {
var splits = [String]()
if let httpMethod = self.httpMethod {
splits.append(httpMethod)
}
if let url = self.url {
splits.append(url.absoluteString)
}
return splits.joined(separator: ": ")
}
}

View File

@ -944,6 +944,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey";
method:@"PUT"
parameters:@{}];
request.shouldHaveAuthorizationHeaders = NO;
request.shouldRedactUrlInLogs = YES;
return request;
}
@ -954,6 +955,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey";
method:@"DELETE"
parameters:@{}];
request.shouldHaveAuthorizationHeaders = NO;
request.shouldRedactUrlInLogs = YES;
return request;
}
@ -962,6 +964,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey";
method:@"POST"
parameters:@{}];
request.shouldHaveAuthorizationHeaders = NO;
request.shouldRedactUrlInLogs = YES;
return request;
}
@ -970,6 +973,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey";
method:@"POST"
parameters:@{}];
request.shouldHaveAuthorizationHeaders = NO;
request.shouldRedactUrlInLogs = YES;
return request;
}
@ -978,6 +982,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey";
method:@"PUT"
parameters:@{}];
request.shouldHaveAuthorizationHeaders = NO;
request.shouldRedactUrlInLogs = YES;
return request;
}
@ -986,6 +991,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey";
method:@"POST"
parameters:@{@"receiptCredentialRequest" : base64ReceiptCredentialRequest}];
request.shouldHaveAuthorizationHeaders = NO;
request.shouldRedactUrlInLogs = YES;
return request;
}
@ -1007,6 +1013,7 @@ NSString *const OWSRequestKey_AuthKey = @"AuthKey";
requestWithUrl:[NSURL URLWithString:[NSString stringWithFormat:@"/v1/subscription/%@", base64SubscriberID]]
method:@"GET"
parameters:@{}];
request.shouldRedactUrlInLogs = YES;
request.shouldHaveAuthorizationHeaders = NO;
return request;
}

View File

@ -13,6 +13,7 @@ static NSString *const kSenderKeySendRequestBodyContentType = @"application/vnd.
@property (nonatomic) BOOL isUDRequest;
@property (nonatomic) BOOL shouldHaveAuthorizationHeaders;
@property (nonatomic) BOOL shouldRedactUrlInLogs;
@property (atomic, nullable) NSString *authUsername;
@property (atomic, nullable) NSString *authPassword;

View File

@ -126,7 +126,11 @@ NS_ASSUME_NONNULL_BEGIN
}
- (NSString *)description {
return [NSString stringWithFormat:@"{ %@: %@ }", self.HTTPMethod, self.URL];
if (self.shouldRedactUrlInLogs) {
return [NSString stringWithFormat:@"{ %@: [REDACTED] }", self.HTTPMethod];
} else {
return [NSString stringWithFormat:@"{ %@: %@ }", self.HTTPMethod, self.URL];
}
}
@end

View File

@ -103,12 +103,12 @@ public class SocketManager: NSObject {
owsAssertDebug(!request.isUDRequest)
owsAssertDebug(request.shouldHaveAuthorizationHeaders)
if request.isUDRequest || !request.shouldHaveAuthorizationHeaders {
Logger.info("request: \(String(describing: request.url)), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)")
Logger.info("request: \(request.description), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)")
}
case .unidentified:
owsAssertDebug(request.isUDRequest || !request.shouldHaveAuthorizationHeaders)
if !request.isUDRequest && request.shouldHaveAuthorizationHeaders {
Logger.info("request: \(String(describing: request.url)), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)")
Logger.info("request: \(request.description), isUDRequest: \(request.isUDRequest), shouldHaveAuthorizationHeaders: \(request.shouldHaveAuthorizationHeaders)")
}
}