redact error too

create log file if it doesn't exist first
This commit is contained in:
austinried
2023-05-15 07:07:19 +09:00
parent c2733482e5
commit 53d284ace4
2 changed files with 56 additions and 32 deletions

View File

@@ -15,33 +15,17 @@ class SubtracksHttpClient extends BaseClient {
@override
Future<StreamedResponse> send(BaseRequest request) {
request.headers.addAll(subtracksHeaders);
log.info('${request.method} ${_redactUri(request.url)}');
log.info('${request.method} ${request.url}');
try {
return request.send();
} catch (e, st) {
log.severe(
'HTTP client: ${request.method} ${_redactUri(request.url)}', e, st);
log.severe('HTTP client: ${request.method} ${request.url}', e, st);
rethrow;
}
}
}
String _redactUri(Uri uri) {
var redacted = uri.toString();
redacted = _redactParam(redacted, 'u');
redacted = _redactParam(redacted, 'p');
redacted = _redactParam(redacted, 's');
redacted = _redactParam(redacted, 't');
return redacted.toString();
}
RegExp _queryReplace(String key) => RegExp('$key=([^&|\\n|\\t\\s]+)');
String _redactParam(String url, String key) =>
url.replaceFirst(_queryReplace(key), '$key=REDACTED');
@Riverpod(keepAlive: true)
BaseClient httpClient(HttpClientRef ref) {
return SubtracksHttpClient();