in membership-common/src/main/scala/com/gu/memsub/util/WebServiceHelper.scala [70:94]
def get[A <: T](endpoint: String, params: (String, String)*)(implicit
reads: Reads[A],
error: Reads[Error],
ctag: ClassTag[A],
logPrefix: LogPrefix,
): Future[A] =
request(new Request.Builder().url(endpointUrl(endpoint, params)))
def get[A <: T](endpoint: String, headers: Headers, params: (String, String)*)(implicit
reads: Reads[A],
error: Reads[Error],
ctag: ClassTag[A],
logPrefix: LogPrefix,
): Future[A] =
request(new Request.Builder().headers(headers).url(endpointUrl(endpoint, params)))
def post[A <: T](endpoint: String, data: JsValue, params: (String, String)*)(implicit
reads: Reads[A],
error: Reads[Error],
ctag: ClassTag[A],
logPrefix: LogPrefix,
): Future[A] = {
val body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), Json.stringify(data))
request(new Request.Builder().url(endpointUrl(endpoint, params)).post(body))
}