Skip to content

Commit 7250f2e

Browse files
committed
refactor(core): improve extension initialization and logging
1 parent 0dc57bd commit 7250f2e

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/main/java/com/arqsz/burpgitleaks/BurpExtender.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import java.util.List;
44

5+
import javax.swing.SwingUtilities;
6+
57
import com.arqsz.burpgitleaks.config.PluginSettings;
68
import com.arqsz.burpgitleaks.config.RuleLoader;
79
import com.arqsz.burpgitleaks.config.RuleLoader.GitleaksConfiguration;
@@ -44,7 +46,7 @@ public void initialize(MontoyaApi api) {
4446

4547
var components = registerComponents(api, config, settings);
4648

47-
handleStartupFeedback(api, config, components.settingsTab(), configResult.errorMsg());
49+
handleStartupFeedback(api, config, configResult.errorMsg());
4850

4951
api.extension().registerUnloadingHandler(() -> {
5052
components.settingsTab().shutdown();
@@ -112,7 +114,8 @@ private RegisteredComponents registerComponents(MontoyaApi api, GitleaksConfigur
112114
api.scanner().registerPassiveScanCheck(scanCheck, ScanCheckType.PER_REQUEST);
113115
}
114116

115-
GitleaksContextMenuProvider menuProvider = new GitleaksContextMenuProvider(api, scanCheck, settings, templateManager);
117+
GitleaksContextMenuProvider menuProvider = new GitleaksContextMenuProvider(api, scanCheck, settings,
118+
templateManager);
116119
api.userInterface().registerContextMenuItemsProvider(menuProvider);
117120

118121
SettingsTab settingsTab = new SettingsTab(api, scanCheck, settings, config.rules(), (visible) -> {
@@ -139,13 +142,18 @@ private void deregisterIssuesTab() {
139142
}
140143
}
141144

142-
private void handleStartupFeedback(MontoyaApi api, GitleaksConfiguration config, SettingsTab settingsTab,
145+
private void handleStartupFeedback(MontoyaApi api, GitleaksConfiguration config,
143146
String startupError) {
144147
if (startupError != null) {
145-
Toast.error(settingsTab, startupError);
148+
api.logging().logToError("Startup configuration error: " + startupError);
146149
api.logging().logToOutput("WARNING: Reverted to default rules due to configuration error.");
150+
SwingUtilities.invokeLater(() -> {
151+
java.awt.Window suiteFrame = api.userInterface().swingUtils().suiteFrame();
152+
Toast.error(suiteFrame, EXTENSION_NAME + "startup failed: Reverted to defaults");
153+
});
147154
} else {
148-
api.logging().logToOutput(EXTENSION_NAME + " ready. Active Rules: " + config.rules().size());
155+
api.logging().logToOutput(String.format("%s (by Arqsz) initialized successfully.", EXTENSION_NAME));
156+
api.logging().logToOutput(String.format("Loaded %d active rules.", config.rules().size()));
149157
}
150158
}
151159
}

0 commit comments

Comments
 (0)