# Fuel 2.3.1 not waiting for post response

**URL:** <https://discuss.kotlinlang.org/t/fuel-2-3-1-not-waiting-for-post-response/29767>\
**Category:** Android\
**Created:** [January 19, 2025, 9:30pm UTC](https://discuss.kotlinlang.org/t/fuel-2-3-1-not-waiting-for-post-response/29767 "2025-01-19T21:30:34Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mustsafa](https://avatars.discourse-cdn.com/v4/letter/m/8e8cbc/32.png) [@mustsafa](https://discuss.kotlinlang.org/u/mustsafa)\
**Post date:** [January 19, 2025, 9:30pm UTC](https://discuss.kotlinlang.org/t/fuel-2-3-1-not-waiting-for-post-response/29767/1 "2025-01-19T21:30:34Z")

</div>

I have this fuel code to grab user name but it works only if I use it in ButtonUI running in a different thread  
ex: response = Thread{fuelPost(connectURL)}.start(); It doesn’t grab a response nor even registers in my rails server console if I run it without Thread

How to use it in synchronous mode properly?

```auto
private fun fuelPost(inputURL: String, name: String = binding.loginNameField. text .toString(), password: String = binding.loginPasswordField. text .toString()): String {
    val jsonElement = parseToJsonElement("""{"user":{"name": "$name","password": "$password"}}""")

    val (request, response, result) = Fuel.post(inputURL)
        .header("Content-Type", "application/json")
        .body(jsonElement.toString())
        .response()

    Log.i("request", request.toString())
    Log.i("response", response.toString())
    Log.i("result", result.toString())
    when (result) {
        is Result.Failure -> {
            return "Bad Connection"
        }
        is Result.Success -> {
            val obj = Json.parseToJsonElement(response.data.toString()) as JsonObject
            val userjson = obj["user"] as JsonArray
            val name = (userjson as JsonObject)["name"].toString()
            return "Logged in as " + name
        }
    }
}private fun fuelPost(inputURL: String,
                             name: String = binding.loginNameField.text.toString(),
                             password: String = binding.loginPasswordField.text.toString()): String {

    val jsonElement = parseToJsonElement("""{"user":{"name": "$name","password": "$password"}}""")

    val (request, response, result) = Fuel.post(inputURL)
        .header("Content-Type", "application/json")
        .body(jsonElement.toString())
        .response()

    Log.i("request", request.toString())
    Log.i("response", response.toString())
    Log.i("result", result.toString())
    when (result) {
        is Result.Failure -> {
            return "Bad Connection"
        }
        is Result.Success -> {
            val obj = Json.parseToJsonElement(response.data.toString()) as JsonObject
            val userjson = obj["user"] as JsonArray
            val name = (userjson as JsonObject)["name"].toString()
            return "Logged in as " + name
        }
    }
}

```
