getappmap / appmap-intellij-plugin

MIT License
38 stars 9 forks source link

Pass IDE proxy settings to the AppMap CLI tools #703

Closed jansorg closed 6 months ago

jansorg commented 6 months ago

Closes https://github.com/getappmap/appmap-intellij-plugin/issues/700

With this PR, the IDE's HTTP proxy settings are passed as environment variables to all AppMap CLI processes launched by the plugin. This include the JSON-RPC server, scanner and indexer.

The following variables are added to the environment of AppMap processes, but only if HTTP proxy settings of the IDE are enabled:

If the IDE configured username and password for proxy authentication, then both are included in the proxy URL values, e.g. http://myUser:secure_password@my.proxy:1234.

I'm not aware of a way to listen to changes of the IDE's proxy settings.

For unknown reasons the download tests started to fail, https://github.com/getappmap/appmap-intellij-plugin/pull/703/commits/27acefa43e65fbe6a3ba025d852f376489172675 is fixing this. I don't know how this could be related to AppMap proxy settings, I think it's either slow(er) runners or a change in another component used by CI.

github-actions[bot] commented 6 months ago

AppMap runtime code review

Summary Status
Failed tests :white_check_mark: All tests passed
API changes :zero: No API changes
Security flaws :white_check_mark: None detected
Performance problems :white_check_mark: None detected
Code anti-patterns :white_check_mark: None detected
New AppMaps :star: 5 new junit tests
Removed AppMaps :heavy_multiplication_x: 1 removed junit test

⭐ New AppMaps

[junit] Default command line service no proxy settings from plugin-core/src/test/java/appland/cli/DefaultCommandLineServiceTest.java:301

[junit] Default command line service proxy settings environment no authentication from plugin-core/src/test/java/appland/cli/DefaultCommandLineServiceTest.java:321

[junit] Default command line service proxy settings environment with authentication from plugin-core/src/test/java/appland/cli/DefaultCommandLineServiceTest.java:335

[junit] Default command line service proxy settings environment with empty password authentication from plugin-core/src/test/java/appland/cli/DefaultCommandLineServiceTest.java:352

[junit] Default command line service proxy settings socks is unsupported from plugin-core/src/test/java/appland/cli/DefaultCommandLineServiceTest.java:311

✖️ Removed AppMaps

[junit] Runtime analysis model hierarchy