mirror of
https://github.com/arduino/Arduino.git
synced 2025-03-13 10:29:35 +01:00
Proxy configuration is now properly handled
This commit is contained in:
parent
0a3370ccc6
commit
52b54b386a
@ -29,7 +29,6 @@
|
||||
|
||||
package cc.arduino.cli;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
|
||||
@ -40,9 +39,9 @@ import cc.arduino.cli.commands.Commands.InitResp;
|
||||
import cc.arduino.cli.commands.Common.Instance;
|
||||
import cc.arduino.cli.settings.SettingsGrpc;
|
||||
import cc.arduino.cli.settings.SettingsGrpc.SettingsBlockingStub;
|
||||
import cc.arduino.cli.settings.SettingsOuterClass;
|
||||
import io.grpc.ManagedChannel;
|
||||
import io.grpc.ManagedChannelBuilder;
|
||||
import io.grpc.StatusException;
|
||||
import processing.app.BaseNoGui;
|
||||
import processing.app.debug.MessageSiphon;
|
||||
import processing.app.helpers.ProcessUtils;
|
||||
@ -90,7 +89,7 @@ public class ArduinoCore {
|
||||
// async = ArduinoCoreGrpc.newStub(channel);
|
||||
}
|
||||
|
||||
public ArduinoCoreInstance init() {
|
||||
public ArduinoCoreInstance init() throws StatusException {
|
||||
Iterator<InitResp> resp = coreBlocking.init(InitReq.getDefaultInstance());
|
||||
Instance instance = null;
|
||||
while (resp.hasNext()) {
|
||||
@ -109,6 +108,8 @@ public class ArduinoCore {
|
||||
instance = r.getInstance();
|
||||
}
|
||||
}
|
||||
return new ArduinoCoreInstance(instance, coreBlocking, settingsBlocking);
|
||||
ArduinoCoreInstance core = new ArduinoCoreInstance(instance, coreBlocking, settingsBlocking);
|
||||
core.updateSettingFromPreferences();
|
||||
return core;
|
||||
}
|
||||
}
|
||||
|
@ -34,9 +34,12 @@ import static processing.app.I18n.tr;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import com.google.protobuf.ByteString;
|
||||
|
||||
@ -68,9 +71,11 @@ import cc.arduino.cli.settings.SettingsOuterClass;
|
||||
import cc.arduino.cli.settings.SettingsGrpc.SettingsBlockingStub;
|
||||
import cc.arduino.contributions.ProgressListener;
|
||||
import cc.arduino.contributions.libraries.ContributedLibraryRelease;
|
||||
import cc.arduino.net.CustomProxySelector;
|
||||
import io.grpc.StatusException;
|
||||
import io.grpc.StatusRuntimeException;
|
||||
import processing.app.BaseNoGui;
|
||||
import processing.app.PreferencesData;
|
||||
|
||||
public class ArduinoCoreInstance {
|
||||
|
||||
@ -89,6 +94,13 @@ public class ArduinoCoreInstance {
|
||||
public void updateSettingFromPreferences() throws StatusException {
|
||||
setDataDir(BaseNoGui.getSettingsFolder());
|
||||
setSketchbookDir(BaseNoGui.getSketchbookFolder());
|
||||
try {
|
||||
Optional<URI> proxy = new CustomProxySelector(PreferencesData.getMap())
|
||||
.getProxyURIFor(new URL("https://arduino.cc").toURI());
|
||||
setProxyUrl(proxy.isPresent() ? proxy.get().toString() : "");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
rescan();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user