mirror of
https://github.com/austinried/subtracks.git
synced 2026-02-10 06:52:43 +01:00
initial console/file logging framework
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:http/http.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
import '../log.dart';
|
||||
|
||||
part 'client.g.dart';
|
||||
|
||||
const Map<String, String> subtracksHeaders = {
|
||||
@@ -14,11 +15,26 @@ class SubtracksHttpClient extends BaseClient {
|
||||
@override
|
||||
Future<StreamedResponse> send(BaseRequest request) {
|
||||
request.headers.addAll(subtracksHeaders);
|
||||
if (kDebugMode) print('${request.method} ${request.url}');
|
||||
log.info('${request.method} ${_redactUri(request.url)}');
|
||||
return request.send();
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user