File tree Expand file tree Collapse file tree
plugins/plugin-servers/src/main/kotlin/com/redmadrobot/debug/plugin/servers
sample/src/debug/kotlin/com/redmadrobot/debug_sample/debug_data Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,22 +17,7 @@ public data class DebugStage(
1717 }
1818
1919 override fun equals (other : Any? ): Boolean {
20- if (this == = other) return true
21- if (javaClass != other?.javaClass) return false
22-
23- other as DebugStage
24-
25- if (name != other.name) return false
26- if (hosts != other.hosts) return false
27- if (isDefault != other.isDefault) return false
28-
29- return true
30- }
31-
32- override fun hashCode (): Int {
33- var result = name.hashCode()
34- result = 31 * result + hosts.hashCode()
35- result = 31 * result + isDefault.hashCode()
36- return result
20+ val otherServer = other as DebugStage
21+ return this .hosts.size == otherServer.hosts.size && this .hosts == otherServer.hosts
3722 }
3823}
Original file line number Diff line number Diff line change @@ -30,25 +30,28 @@ public class DebugStageInterceptor(private val hostName: String) : Interceptor {
3030 }
3131
3232 override fun intercept (chain : Interceptor .Chain ): Response {
33- var request = chain.request()
34- return if (DebugPanel .isInitialized) {
35- val debugStage = stageRepository.getSelectedStage()
36- val modifiedRequest = debugStage?.let { stage ->
37- val host = stage.hosts[hostName]
38- if (host != null ) {
39- val newUrl = request.getNewUrl(host)
40- request = request.newBuilder()
41- .url(newUrl)
42- .build()
43- }
44-
45- requestModifier?.invoke(request, stage)
46- } ? : request
47-
48- chain.proceed(modifiedRequest)
49- } else {
50- chain.proceed(request)
33+ val originalRequest = chain.request()
34+
35+ if (! DebugPanel .isInitialized) {
36+ return chain.proceed(originalRequest)
37+ }
38+
39+ val debugStage = stageRepository.getSelectedStage()
40+ val host = debugStage?.hosts?.get(hostName)
41+ var currentRequest = originalRequest
42+
43+ if (host != null ) {
44+ val newUrl = originalRequest.getNewUrl(host)
45+ if (newUrl != originalRequest.url) {
46+ currentRequest = originalRequest.newBuilder().url(newUrl).build()
47+ }
5148 }
49+
50+ val modifiedRequest = debugStage?.let { stage ->
51+ requestModifier?.invoke(currentRequest, stage)
52+ }
53+
54+ return chain.proceed(modifiedRequest ? : currentRequest)
5255 }
5356
5457
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package com.redmadrobot.debug_sample.debug_data
22
33import com.redmadrobot.debug.plugin.servers.data.model.DebugServer
44import com.redmadrobot.debug.plugin.servers.data.model.DebugServerData
5+ import com.redmadrobot.debug.plugin.servers.data.model.DebugStage
56
67class DebugServersProvider {
78
@@ -21,6 +22,15 @@ class DebugServersProvider {
2122 DebugServer (
2223 name = " debug 4" , url = " https://testserver4.com"
2324 ),
25+ DebugStage (
26+ name = " debug stage 1" ,
27+ hosts = mapOf (
28+ " main" to " https://testserver1main.com" ,
29+ " s3" to " https://testserver1s3.com" ,
30+ " wss" to " https://testserver1wss.com"
31+ ),
32+ isDefault = true
33+ ),
2434 )
2535 }
2636}
You can’t perform that action at this time.
0 commit comments