in membership-common/src/main/scala/com/gu/salesforce/job/Reader.scala [22:32]
def read(response: Response): Either[Error, T] = {
response.code() match {
case 200 | 201 =>
Try { XML.load(response.body().byteStream()) } match {
case Success(xml) => Right(extract(xml))
case Failure(ex) => Left(Error(s"Failed to extract XML, ${ex.getMessage}"))
}
case code => Left(Error(s"Unexpected response code $code"))
}
}