Skip to content

Commit cf9cff1

Browse files
feat(client): add {QueryParams,Headers}#put(String, JsonValue) methods
1 parent 0c96438 commit cf9cff1

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

orb-kotlin-core/src/main/kotlin/com/withorb/api/core/http/Headers.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
1+
// File generated from our OpenAPI spec by Stainless.
2+
13
package com.withorb.api.core.http
24

5+
import com.withorb.api.core.JsonArray
6+
import com.withorb.api.core.JsonBoolean
7+
import com.withorb.api.core.JsonMissing
8+
import com.withorb.api.core.JsonNull
9+
import com.withorb.api.core.JsonNumber
10+
import com.withorb.api.core.JsonObject
11+
import com.withorb.api.core.JsonString
12+
import com.withorb.api.core.JsonValue
313
import com.withorb.api.core.toImmutable
414
import java.util.TreeMap
515

@@ -24,6 +34,19 @@ class Headers private constructor(private val map: Map<String, List<String>>, va
2434
TreeMap(String.CASE_INSENSITIVE_ORDER)
2535
private var size: Int = 0
2636

37+
fun put(name: String, value: JsonValue): Builder = apply {
38+
when (value) {
39+
is JsonMissing,
40+
is JsonNull -> {}
41+
is JsonBoolean -> put(name, value.value.toString())
42+
is JsonNumber -> put(name, value.value.toString())
43+
is JsonString -> put(name, value.value)
44+
is JsonArray -> value.values.forEach { put(name, it) }
45+
is JsonObject ->
46+
value.values.forEach { (nestedName, value) -> put("$name.$nestedName", value) }
47+
}
48+
}
49+
2750
fun put(name: String, value: String) = apply {
2851
map.getOrPut(name) { mutableListOf() }.add(value)
2952
size++

orb-kotlin-core/src/main/kotlin/com/withorb/api/core/http/QueryParams.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
package com.withorb.api.core.http
44

5+
import com.withorb.api.core.JsonArray
6+
import com.withorb.api.core.JsonBoolean
7+
import com.withorb.api.core.JsonMissing
8+
import com.withorb.api.core.JsonNull
9+
import com.withorb.api.core.JsonNumber
10+
import com.withorb.api.core.JsonObject
11+
import com.withorb.api.core.JsonString
12+
import com.withorb.api.core.JsonValue
513
import com.withorb.api.core.toImmutable
614

715
class QueryParams private constructor(private val map: Map<String, List<String>>, val size: Int) {
@@ -24,6 +32,19 @@ class QueryParams private constructor(private val map: Map<String, List<String>>
2432
private val map: MutableMap<String, MutableList<String>> = mutableMapOf()
2533
private var size: Int = 0
2634

35+
fun put(key: String, value: JsonValue): Builder = apply {
36+
when (value) {
37+
is JsonMissing,
38+
is JsonNull -> {}
39+
is JsonBoolean -> put(key, value.value.toString())
40+
is JsonNumber -> put(key, value.value.toString())
41+
is JsonString -> put(key, value.value)
42+
is JsonArray -> value.values.forEach { put("$key[]", it) }
43+
is JsonObject ->
44+
value.values.forEach { (nestedKey, value) -> put("$key[$nestedKey]", value) }
45+
}
46+
}
47+
2748
fun put(key: String, value: String) = apply {
2849
map.getOrPut(key) { mutableListOf() }.add(value)
2950
size++

0 commit comments

Comments
 (0)