Skip to content

Commit 30efd49

Browse files
committed
feat(http-client): add support for creating HttpRequestRunConfiguration #198
Add logic to create and manage HttpRequestRunConfiguration instances in the IntellijHttpClientExecutor.kt file.
1 parent cbdc2bb commit 30efd49

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

exts/ext-http-client/src/main/kotlin/cc/unitmesh/httpclient/IntellijHttpClientExecutor.kt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ package cc.unitmesh.httpclient
22

33
import cc.unitmesh.devti.provider.http.HttpClientProvider
44
import com.intellij.execution.Executor
5+
import com.intellij.execution.RunManager
56
import com.intellij.execution.RunnerAndConfigurationSettings
67
import com.intellij.execution.actions.ConfigurationContext
78
import com.intellij.httpClient.http.request.run.HttpRequestExecutorExtensionFactory
89
import com.intellij.httpClient.http.request.run.HttpRequestRunConfigurationExecutor
910
import com.intellij.httpClient.http.request.run.config.HttpRequestRunConfiguration
11+
import com.intellij.httpClient.http.request.run.config.HttpRequestRunConfigurationType
1012
import com.intellij.openapi.project.Project
1113
import com.intellij.openapi.vfs.VirtualFile
1214
import com.intellij.psi.PsiFile
@@ -21,9 +23,20 @@ class IntellijHttpClientExecutor : HttpClientProvider {
2123
?.firstOrNull()
2224
?.configurationSettings ?: return
2325

24-
// runner.configuration?.apply {
25-
// this as HttpRequestRunConfiguration
26-
// }
26+
27+
val factory = HttpRequestRunConfigurationType.getInstance().configurationFactories[0]
28+
val configuration = HttpRequestRunConfiguration(project, factory, "HttpRequest")
29+
30+
val runManager: RunManager = RunManager.getInstance(project)
31+
runManager.setUniqueNameIfNeeded(configuration)
32+
runManager.addConfiguration(runner)
33+
34+
runner.isTemporary = true
35+
36+
val selectedRunner = runManager.selectedConfiguration
37+
if ((selectedRunner == null || selectedRunner.isTemporary) && runManager.shouldSetRunConfigurationFromContext()) {
38+
runManager.selectedConfiguration = runner
39+
}
2740

2841
val executor: Executor = HttpRequestExecutorExtensionFactory.getRunExtension().executor ?: return
2942
HttpRequestRunConfigurationExecutor.getInstance().execute(

0 commit comments

Comments
 (0)