url(Url(endpoint.url))
                  
                  
                                  contentType(ContentType.Application.Json)
                  
                  
                                  headers {
                  
                  
                                      clear()
                  
                  
                                      val headersEntries: Set<Map.Entry<String, String>> = endpoint.headers?.entries as Set<Map.Entry<String, String>>
                  
                  
                                      for (header in headersEntries) {
                  
                  
                                          headers.append(name = header.key, value = header.value)
                  
                  
                                      }
                  
                  
                                  }
                  
                  
                                  body = RecentRequestModel(
                  
                  
                                      before = endpoint.parameters?.get("before") as? String ?: lastChatUpdatedAt,
                  
                  
                                      limit = (endpoint.parameters?.get("limit") as? Int) ?: 45
                  
                  
                                  )
                  
                  
                              }
                  
                  
                  компилятор съедает все, кроме body
                  
                  
                  
                  
                  
                  такая же запись body работает в другом месте
                  
                  
                  val result = client.post<String> {
                  
                  
                                      url(buildAuthorizationString(server.toString()))
                  
                  
                                      contentType(ContentType.Application.Json)
                  
                  
                                      body = AuthorizationRequestModel(
                  
                  
                                          login = endpoint.parameters?.get("login") as? String ?: "",
                  
                  
                                          password = endpoint.parameters?.get("password") as? String ?: ""
                  
                  
                                      )
                  
                  
                                  }
                  
                  
                  В обоих случаях requestModel это @Serializable
                  
                  
                  1)
                  
                  
                  @Serializable
                  
                  
                  data class RecentRequestModel(
                  
                  
                      val before: String,
                  
                  
                      val limit: Int
                  
                  
                  )
                  
                  
                  2)
                  
                  
                  @Serializable
                  
                  
                  data class AuthorizationRequestModel(
                  
                  
                      val login: String,
                  
                  
                      val password: String
                  
                  
                  )
                  
                  
                
Лучше на гист закинуть наверное, для телеги код великоват ...
Обсуждают сегодня