8000 Proxy configuration is now properly handled · arduino-collections/Arduino-1@52b54b3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 52b54b3

Browse files
committed
Proxy configuration is now properly handled
1 parent 0a3370c commit 52b54b3

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

arduino-core/src/cc/arduino/cli/ArduinoCore.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929

3030
package cc.arduino.cli;
3131

32-
import java.io.File;
3332
import java.io.IOException;
3433
import java.util.Iterator;
3534

@@ -40,9 +39,9 @@
4039
import cc.arduino.cli.commands.Common.Instance;
4140
import cc.arduino.cli.settings.SettingsGrpc;
4241
import cc.arduino.cli.settings.SettingsGrpc.SettingsBlockingStub;
43-
import cc.arduino.cli.settings.SettingsOuterClass;
4442
import io.grpc.ManagedChannel;
4543
import io.grpc.ManagedChannelBuilder;
44+
import io.grpc.StatusException;
4645
import processing.app.BaseNoGui;
4746
import processing.app.debug.MessageSiphon;
4847
import processing.app.helpers.ProcessUtils;
@@ -90,7 +89,7 @@ public ArduinoCore() throws IOException {
9089
// async = ArduinoCoreGrpc.newStub(channel);
9190
}
9291

93-
public ArduinoCoreInstance init() {
92+
public ArduinoCoreInstance init() throws StatusException {
9493
Iterator<InitResp> resp = coreBlocking.init(InitReq.getDefaultInstance());
9594
Instance instance = null;
9695
while (resp.hasNext()) {
@@ -109,6 +108,8 @@ public ArduinoCoreInstance init() {
109108
instance = r.getInstance();
110109
}
111110
}
112-
return new ArduinoCoreInstance(instance, coreBlocking, settingsBlocking);
111+
ArduinoCoreInstance core = new ArduinoCoreInstance(instance, coreBlocking, settingsBlocking);
112+
core.updateSettingFromPreferences();
113+
return core;
113114
}
114115
}

arduino-core/src/cc/arduino/cli/ArduinoCoreInstance.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,12 @@
3434
import java.io.File;
3535
import java.io.IOException;
3636
import java.io.OutputStream;
37+
import java.net.URI;
38+
import java.net.URL;
3739
import java.util.ArrayList;
3840
import java.util.Iterator;
3941
import java.util.List;
42+
import java.util.Optional;
4043

4144
import com.google.protobuf.ByteString;
4245

@@ -68,9 +71,11 @@
6871
import cc.arduino.cli.settings.SettingsGrpc.SettingsBlockingStub;
6972
import cc.arduino.contributions.ProgressListener;
7073
import cc.arduino.contributions.libraries.ContributedLibraryRelease;
74+
import cc.arduino.net.CustomProxySelector;
7175
import io.grpc.StatusException;
7276
import io.grpc.StatusRuntimeException;
7377
import processing.app.BaseNoGui;
78+
import processing.app.PreferencesData;
7479

7580
public class ArduinoCoreInstance {
7681

@@ -89,6 +94,13 @@ public ArduinoCoreInstance(Instance instance,
8994
public void updateSettingFromPreferences() throws StatusException {
9095
setDataDir(BaseNoGui.getSettingsFolder());
9196
setSketchbookDir(BaseNoGui.getSketchbookFolder());
97+
try {
98+
Optional<URI> proxy = new CustomProxySelector(PreferencesData.getMap())
99+
.getProxyURIFor(new URL("https://arduino.cc").toURI());
100+
setProxyUrl(proxy.isPresent() ? proxy.get().toString() : "");
101+
} catch (Exception e) {
102+
e.printStackTrace();
103+
}
92104
rescan();
93105
}
94106

0 commit comments

Comments
 (0)
0