Безопасно ли вставлять данные в кэш-память ohttp вручную? - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь предварительно загрузить кэш okhttp с данными из конечной точки REST, например, persons/1,2,3, которая возвращает те же данные, что и person/1, используя перехватчик. Это работает, но использует cache().put$okhttp(resp).

Безопасно ли использовать cache().put$okhttp(resp) для манипулирования кэшем okhttp, как это сделано ниже?

            String json = encoder.writeValueAsString(object);
            Request newRequest = new Request.Builder().url(url).build();
            ResponseBody body = ResponseBody
                    .create(MediaType.parse("application/json"), json);
            Response resp = new Response.Builder().body(body)
                    .request(newRequest).code(200).protocol(HTTP_1_1)
                    .header("content-type", "application/json")
                    .message("OK").body(body)
                    .networkResponse(new Response.Builder().code(200)
                            .request(newRequest).protocol(HTTP_1_1)
                            .header("content-type", "application/json")
                            .message("OK").build())
                    .build();
            Sink cacheSink = getOk().cache().put$okhttp(resp).body();
            cacheSink.write(resp.body().source().getBuffer(),
                    json.getBytes().length);
            cacheSink.close();
...