use paynym.is onion address when proxy is set

This commit is contained in:
Craig Raw 2022-03-31 09:20:57 +02:00
parent b16c7345a8
commit 0469141fee
2 changed files with 16 additions and 7 deletions

View file

@ -3,6 +3,7 @@ package com.sparrowwallet.sparrow.control;
import com.sparrowwallet.drongo.bip47.PaymentCode; import com.sparrowwallet.drongo.bip47.PaymentCode;
import com.sparrowwallet.sparrow.AppServices; import com.sparrowwallet.sparrow.AppServices;
import com.sparrowwallet.sparrow.io.Config; import com.sparrowwallet.sparrow.io.Config;
import com.sparrowwallet.sparrow.paynym.PayNymService;
import javafx.beans.property.ObjectProperty; import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
import javafx.concurrent.Service; import javafx.concurrent.Service;
@ -117,8 +118,8 @@ public class PayNymAvatar extends StackPane {
} }
synchronized(lock) { synchronized(lock) {
String url = "https://paynym.is/" + paymentCodeStr + "/avatar";
Proxy proxy = AppServices.getProxy(); Proxy proxy = AppServices.getProxy();
String url = PayNymService.getHostUrl(proxy != null) + "/" + paymentCodeStr + "/avatar";
try(InputStream is = (proxy == null ? new URL(url).openStream() : new URL(url).openConnection(proxy).getInputStream())) { try(InputStream is = (proxy == null ? new URL(url).openStream() : new URL(url).openConnection(proxy).getInputStream())) {
Image image = new Image(is, 150, 150, true, false); Image image = new Image(is, 150, 150, true, false);

View file

@ -52,7 +52,7 @@ public class PayNymService {
body.put("code", paymentCode.toString()); body.put("code", paymentCode.toString());
IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST); IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST);
return httpClient.postJson("https://paynym.is/api/v1/create", Map.class, headers, body) return httpClient.postJson(getHostUrl() + "/api/v1/create", Map.class, headers, body)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(JavaFxScheduler.platform()) .observeOn(JavaFxScheduler.platform())
.map(Optional::get); .map(Optional::get);
@ -70,7 +70,7 @@ public class PayNymService {
body.put("code", paymentCode.toString()); body.put("code", paymentCode.toString());
IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST); IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST);
return httpClient.postJson("https://paynym.is/api/v1/token", Map.class, headers, body) return httpClient.postJson(getHostUrl() + "/api/v1/token", Map.class, headers, body)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(JavaFxScheduler.platform()) .observeOn(JavaFxScheduler.platform())
.map(Optional::get); .map(Optional::get);
@ -115,7 +115,7 @@ public class PayNymService {
body.put("signature", signature); body.put("signature", signature);
IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST); IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST);
return httpClient.postJson("https://paynym.is/api/v1/claim", Map.class, headers, body) return httpClient.postJson(getHostUrl() + "/api/v1/claim", Map.class, headers, body)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(JavaFxScheduler.platform()) .observeOn(JavaFxScheduler.platform())
.map(Optional::get); .map(Optional::get);
@ -140,7 +140,7 @@ public class PayNymService {
body.put("signature", signature); body.put("signature", signature);
IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST); IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST);
return httpClient.postJson("https://paynym.is/api/v1/nym/add", Map.class, headers, body) return httpClient.postJson(getHostUrl() + "/api/v1/nym/add", Map.class, headers, body)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(JavaFxScheduler.platform()) .observeOn(JavaFxScheduler.platform())
.map(Optional::get); .map(Optional::get);
@ -160,7 +160,7 @@ public class PayNymService {
body.put("target", paymentCode.toString()); body.put("target", paymentCode.toString());
IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST); IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST);
return httpClient.postJson("https://paynym.is/api/v1/follow", Map.class, headers, body) return httpClient.postJson(getHostUrl() + "/api/v1/follow", Map.class, headers, body)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(JavaFxScheduler.platform()) .observeOn(JavaFxScheduler.platform())
.map(Optional::get); .map(Optional::get);
@ -174,7 +174,7 @@ public class PayNymService {
body.put("nym", nymIdentifier); body.put("nym", nymIdentifier);
IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST); IHttpClient httpClient = httpClientService.getHttpClient(HttpUsage.COORDINATOR_REST);
return httpClient.postJson("https://paynym.is/api/v1/nym", Map.class, headers, body) return httpClient.postJson(getHostUrl() + "/api/v1/nym", Map.class, headers, body)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(JavaFxScheduler.platform()) .observeOn(JavaFxScheduler.platform())
.map(Optional::get); .map(Optional::get);
@ -235,6 +235,14 @@ public class PayNymService {
httpClientService.setTorProxy(torProxy); httpClientService.setTorProxy(torProxy);
} }
private String getHostUrl() {
return getHostUrl(getTorProxy() != null);
}
public static String getHostUrl(boolean tor) {
return tor ? "http://paynym7bwekdtb2hzgkpl6y2waqcrs2dii7lwincvxme7mdpcpxzfsad.onion" : "https://paynym.is";
}
public void shutdown() { public void shutdown() {
httpClientService.shutdown(); httpClientService.shutdown();
} }