Skip to content

Commit

Permalink
kotlin: Rework headers
Browse files Browse the repository at this point in the history
  • Loading branch information
svix-mman committed Feb 12, 2025
1 parent 5b42608 commit bbafa12
Showing 1 changed file with 20 additions and 13 deletions.
33 changes: 20 additions & 13 deletions templates/svix-lib-kotlin/api_resource.kt.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
// this file is @generated
package com.svix.kotlin

import okhttp3.Headers.Companion.headersOf
import okhttp3.Headers
import okhttp3.HttpUrl
import com.svix.kotlin.MaybeUnset
import kotlinx.datetime.Instant
import kotlinx.serialization.SerialName
Expand Down Expand Up @@ -33,14 +34,17 @@ data class {{ resource_type_name }}{{ op.name | to_upper_camel_case }}Options(
{% endfor -%}


class {{ resource_type_name }}(baseUrl: HttpUrl, defaultHeaders: Map<String, String>) : SvixHttpClient(baseUrl, defaultHeaders) {


{% for op in resource.operations -%}
{% set res_type = op.response_body_schema_name | replace("_", "") -%}
{% set has_query_params = op.query_params | length > 0 -%}
{% set has_required_query_params =
op.query_params | selectattr("required") | length > 0 -%}
{{ op.description | with_javadoc_deprecation(op.deprecated) | to_doc_comment(style="kotlin") }}
{% if op.deprecated -%}
@Deprecated
@Deprecated("")
{% endif -%}
suspend fun {{ op.name | to_lower_camel_case }}(
{# path parameters -#}
Expand Down Expand Up @@ -91,25 +95,26 @@ suspend fun {{ op.name | to_lower_camel_case }}(
{% endif -%}

{% if op.header_params | length > 0 -%}
val headers = headersOf(
{%- for p in op.header_params -%}
"{{ p.name }}" to options.{{ p.name | to_lower_camel_case }}
{%- endfor -%}
)
{% endif -%}
{% if op.request_body_schema_name is defined -%}
val jsonBody = Json.encodeToString({{ req_body_field_name }})
var headers = Headers.Builder()
{% for p in op.header_params -%}
options.{{ p.name | to_lower_camel_case }}?.let { headers = headers.add("{{ p.name }}",it) }
{% endfor -%}
{% endif -%}

{% set generic_res_type = res_type -%}
{% if not op.response_body_schema_name is defined -%}
{% set generic_res_type = "Boolean" -%}
{% endif -%}
{% if op.response_body_schema_name is defined %}return {% endif %}this.executeRequest<{{ generic_res_type }}>("{{ op.method | upper}}",url.build()
{% set generic_req_type = "Any" -%}
{% if op.request_body_schema_name is defined -%}
{% set generic_req_type = op.request_body_schema_name %}
{% endif -%}
{% if op.response_body_schema_name is defined %}return {% endif %}this.executeRequest<{{ generic_req_type }},{{ generic_res_type }}>("{{ op.method | upper}}",url.build()
{%- if op.header_params | length > 0 -%}
,headers = headers
,headers = headers.build()
{%- endif -%}
{%- if op.request_body_schema_name is defined -%}
,jsonBody = jsonBody
,reqBody = {{ req_body_field_name }}
{%- endif -%}
)
}
Expand All @@ -119,3 +124,5 @@ api_extra/{{ resource.name | to_snake_case }}_{{ op.name | to_snake_case }}.kt
{%- endset -%}
{% include extra_path ignore missing %}
{% endfor -%}

}

0 comments on commit bbafa12

Please sign in to comment.