Skip to content

Commit 258fff7

Browse files
add method
1 parent 31df1c0 commit 258fff7

File tree

2 files changed

+43
-19
lines changed

2 files changed

+43
-19
lines changed

Library/lib/src/commonMain/kotlin/data/HttpRequestState.kt

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ object HttpRequestStateSerializer : KSerializer<HttpRequestState> {
2929
"header" to value.header.toString(),
3030
"request" to value.request.toString(),
3131
"response" to value.response.toString(),
32-
"status" to value.status.toString()
32+
"status" to value.status.toString(),
33+
"method" to value.method.toString()
3334
)
3435
encoder.encodeString(Json.encodeToString(data))
3536
}
@@ -45,6 +46,7 @@ object HttpRequestStateSerializer : KSerializer<HttpRequestState> {
4546
url = data["url"],
4647
header = data["header"],
4748
request = data["request"],
49+
method = data["method"],
4850
)
4951
}
5052

@@ -57,6 +59,7 @@ object HttpRequestStateSerializer : KSerializer<HttpRequestState> {
5759
request = data["request"],
5860
response = data["response"],
5961
status = data["status"]?.toInt(),
62+
method = data["method"],
6063
)
6164
}
6265

@@ -69,6 +72,7 @@ object HttpRequestStateSerializer : KSerializer<HttpRequestState> {
6972
request = data["request"],
7073
response = data["response"],
7174
status = data["status"]?.toInt(),
75+
method = data["method"],
7276
)
7377
}
7478

@@ -81,6 +85,7 @@ object HttpRequestStateSerializer : KSerializer<HttpRequestState> {
8185
request = data["request"],
8286
response = data["response"],
8387
status = data["status"]?.toInt(),
88+
method = data["method"],
8489
)
8590
}
8691

@@ -97,7 +102,8 @@ sealed class HttpRequestState(
97102
open val header: String? = null,
98103
open val request: String? = null,
99104
open val response: String? = null,
100-
open val status: Int? = null
105+
open val status: Int? = null,
106+
open val method: String? = null
101107
) {
102108

103109
data class Executing(
@@ -106,6 +112,7 @@ sealed class HttpRequestState(
106112
override val url: String?,
107113
override val header: String?,
108114
override val request: String?,
115+
override val method: String?,
109116
) : HttpRequestState(id, timeSignMillis, url, header, request)
110117

111118
data class Success(
@@ -115,7 +122,8 @@ sealed class HttpRequestState(
115122
override val header: String?,
116123
override val request: String?,
117124
override val response: String?,
118-
override val status: Int?
125+
override val status: Int?,
126+
override val method: String?,
119127
) : HttpRequestState(id, timeSignMillis, url, header, request, response)
120128

121129
data class Error(
@@ -125,7 +133,8 @@ sealed class HttpRequestState(
125133
override val header: String?,
126134
override val request: String?,
127135
override val response: String?,
128-
override val status: Int?
136+
override val status: Int?,
137+
override val method: String?,
129138
) : HttpRequestState(id, timeSignMillis, url, header, request, response)
130139

131140
data class Spoofed(
@@ -135,7 +144,8 @@ sealed class HttpRequestState(
135144
override val header: String?,
136145
override val request: String?,
137146
override val response: String?,
138-
override val status: Int?
147+
override val status: Int?,
148+
override val method: String?,
139149
) : HttpRequestState(id, timeSignMillis, url, header, request, response)
140150

141151
companion object {
@@ -155,6 +165,7 @@ sealed class HttpRequestState(
155165
url = pipeline.context.url.buildString(),
156166
header = pipeline.context.headers.build().toString(),
157167
request = pipeline.context.body.toString(),
168+
method = pipeline.context.method.value,
158169
)
159170
}
160171

@@ -170,7 +181,8 @@ sealed class HttpRequestState(
170181
header = pipeline.context.request.headers.toString(),
171182
request = pipeline.context.request.content.toString(),
172183
response = data.response.toString(),
173-
status = pipeline.context.response.status.value
184+
status = pipeline.context.response.status.value,
185+
method = pipeline.context.request.method.value,
174186
)
175187
}
176188
}

Library/lib/src/commonMain/kotlin/ui/DebuggerWindow.kt

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,15 @@ data class ErrorItemDisplay(
8686
val executionTime: String,
8787
val status: String,
8888
val url: String,
89+
val method: String,
8990
) {
9091
companion object {
9192
fun from(data: HttpRequestState.Error): ErrorItemDisplay {
9293
return ErrorItemDisplay(
9394
status = data.status?.toString().orEmpty(),
9495
url = data.url.orEmpty(),
95-
executionTime = data.timeSignMillis.toDate()
96+
executionTime = data.timeSignMillis.toDate(),
97+
method = data.method.toString()
9698
)
9799
}
98100
}
@@ -104,21 +106,23 @@ fun ErrorItem(
104106
item: ErrorItemDisplay
105107
) {
106108
CompositionLocalProvider(LocalContentColor provides Color(colorSuccess)) {
107-
StatusItem(modifier, item.executionTime, item.status, item.url)
109+
StatusItem(modifier, item.executionTime, item.status, item.url, item.method)
108110
}
109111
}
110112

111113
data class ExecutingItemDisplay(
112114
val executionTime: String,
113115
val status: String,
114116
val url: String,
117+
val method: String,
115118
) {
116119
companion object {
117120
fun from(data: HttpRequestState.Executing): ExecutingItemDisplay {
118121
return ExecutingItemDisplay(
119122
status = "Executing..",
120123
url = data.url.orEmpty(),
121-
executionTime = data.timeSignMillis.toDate()
124+
executionTime = data.timeSignMillis.toDate(),
125+
method = data.method.toString()
122126
)
123127
}
124128
}
@@ -130,21 +134,23 @@ fun ExecutingItem(
130134
item: ExecutingItemDisplay
131135
) {
132136
CompositionLocalProvider(LocalContentColor provides Color(colorSuccess)) {
133-
StatusItem(modifier, item.executionTime, item.status, item.url)
137+
StatusItem(modifier, item.executionTime, item.status, item.url, item.method)
134138
}
135139
}
136140

137141
data class SpoofedItemDisplay(
138142
val executionTime: String,
139143
val status: String,
140144
val url: String,
145+
val method: String,
141146
) {
142147
companion object {
143148
fun from(data: HttpRequestState.Spoofed): SpoofedItemDisplay {
144149
return SpoofedItemDisplay(
145150
status = "Spoofed",
146151
url = data.url.orEmpty(),
147-
executionTime = data.timeSignMillis.toDate()
152+
executionTime = data.timeSignMillis.toDate(),
153+
method = data.method.toString()
148154
)
149155
}
150156
}
@@ -156,21 +162,23 @@ fun SpoofedItem(
156162
item: SpoofedItemDisplay
157163
) {
158164
CompositionLocalProvider(LocalContentColor provides Color(colorSuccess)) {
159-
StatusItem(modifier, item.executionTime, item.status, item.url)
165+
StatusItem(modifier, item.executionTime, item.status, item.url, item.method)
160166
}
161167
}
162168

163169
data class SuccessItemDisplay(
164170
val executionTime: String,
165171
val status: String,
166172
val url: String,
173+
val method: String,
167174
) {
168175
companion object {
169176
fun from(data: HttpRequestState.Success): SuccessItemDisplay {
170177
return SuccessItemDisplay(
171178
status = data.status?.toString().orEmpty(),
172179
url = data.url.orEmpty(),
173-
executionTime = data.timeSignMillis.toDate()
180+
executionTime = data.timeSignMillis.toDate(),
181+
method = data.method.toString()
174182
)
175183
}
176184
}
@@ -182,7 +190,7 @@ fun SuccessItem(
182190
item: SuccessItemDisplay
183191
) {
184192
CompositionLocalProvider(LocalContentColor provides Color(colorSuccess)) {
185-
StatusItem(modifier, item.executionTime, item.status, item.url)
193+
StatusItem(modifier, item.executionTime, item.status, item.url, item.method)
186194
}
187195
}
188196

@@ -192,15 +200,20 @@ fun StatusItem(
192200
executionTime: String,
193201
status: String,
194202
url: String,
203+
method: String,
195204
) {
196205
Column(
197206
modifier = modifier
198207
.padding(vertical = 16.dp),
199208
) {
200-
Text(
201-
text = url,
202-
overflow = TextOverflow.StartEllipsis
203-
)
209+
Row {
210+
Text(text = method.uppercase(), color = Color.White)
211+
Spacer(modifier = Modifier.width(4.dp))
212+
Text(
213+
text = url,
214+
overflow = TextOverflow.StartEllipsis
215+
)
216+
}
204217
Row {
205218
Text(text = executionTime, color = Color.White)
206219
Spacer(modifier = Modifier.width(8.dp))
@@ -216,7 +229,6 @@ fun Long.toDate(timeZone: TimeZone = TimeZone.currentSystemDefault()): String {
216229
val instant = Instant.fromEpochMilliseconds(this)
217230
val dateTime: LocalDateTime = instant.toLocalDateTime(timeZone = timeZone)
218231

219-
val year = dateTime.year
220232
val month = dateTime.monthNumber.toString().padStart(2, '0')
221233
val day = dateTime.dayOfMonth.toString().padStart(2, '0')
222234
val hour = dateTime.hour.toString().padStart(2, '0')

0 commit comments

Comments
 (0)