Skip to content

Commit 0b5aa67

Browse files
committed
api [nfc]: Use [Uri.replace] to make URLs based on realm URL
1 parent fd4376d commit 0b5aa67

File tree

3 files changed

+5
-10
lines changed

3 files changed

+5
-10
lines changed

lib/api/core.dart

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,8 @@ class LiveApiConnection extends ApiConnection {
7171
Future<String> get(String route, Map<String, dynamic>? params) async {
7272
assert(_isOpen);
7373
final baseUrl = Uri.parse(auth.realmUrl);
74-
final url = Uri(
75-
scheme: baseUrl.scheme,
76-
userInfo: baseUrl.userInfo,
77-
host: baseUrl.host,
78-
port: baseUrl.port,
79-
path: "/api/v1/$route",
80-
queryParameters: encodeParameters(params));
74+
final url = baseUrl.replace(
75+
path: "/api/v1/$route", queryParameters: encodeParameters(params));
8176
if (kDebugMode) print("GET $url");
8277
final response = await _client.get(url, headers: _headers());
8378
if (response.statusCode != 200) {
@@ -90,7 +85,7 @@ class LiveApiConnection extends ApiConnection {
9085
Future<String> post(String route, Map<String, dynamic>? params) async {
9186
assert(_isOpen);
9287
final response = await _client.post(
93-
Uri.parse("${auth.realmUrl}/api/v1/$route"),
88+
Uri.parse(auth.realmUrl).replace(path: "/api/v1/$route"),
9489
headers: _headers(),
9590
body: encodeParameters(params));
9691
if (response.statusCode != 200) {

lib/api/route/account.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Future<FetchApiKeyResult> fetchApiKey({
1515
}) async {
1616
// TODO dedupe this part with LiveApiConnection; make this function testable
1717
final response = await http.post(
18-
Uri.parse("$realmUrl/api/v1/fetch_api_key"),
18+
Uri.parse(realmUrl).replace(path: "/api/v1/fetch_api_key"),
1919
body: encodeParameters({
2020
'username': RawParameter(username),
2121
'password': RawParameter(password),

lib/api/route/realm.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Future<GetServerSettingsResult> getServerSettings({
2121
}) async {
2222
// TODO dedupe this part with LiveApiConnection; make this function testable
2323
final response = await http.get(
24-
Uri.parse("$realmUrl/api/v1/server_settings"));
24+
Uri.parse(realmUrl).replace(path: "/api/v1/server_settings"));
2525
if (response.statusCode != 200) {
2626
throw Exception('error on GET server_settings: status ${response.statusCode}');
2727
}

0 commit comments

Comments
 (0)