Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Create Custom Empty okhttp3.Response?

Tags:

okhttp

PROBLEM: Method returns Response, sometimes null, if request call fails. Error message from exception should be added to returned Response manually.

RESEARCH:

Request request;
Response response = null;

  try {

    response =
      client
        .newCall(request)
        .execute();

  } catch (IOException e) {

    response = ... // Need to instantiate manually.
  }

QUESTION: How to create empty Response instance to change its null value?

like image 786
Zon Avatar asked Oct 24 '25 03:10

Zon


1 Answers

In Kotlin language example:

val response = Response.Builder()
            .request(chain.request())
            .protocol(Protocol.HTTP_2)
            .code(200)
            .message("success")
            .header("MOCKED_HEADER_KEY", "MOCKED_HEADER_VALUE")
            .body("mocked body".toResponseBody("text/html".toMediaTypeOrNull()))
            .build()

request, protocol, message properties required (to avoid IllegalStateException).

like image 186
Varenytsia Mikhail Avatar answered Oct 27 '25 02:10

Varenytsia Mikhail