Packages

p

sanskrit_coders

package sanskrit_coders

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Value Members

  1. object RichHttpClient

    A client robust to redirects and such.

    A client robust to redirects and such. Copied and adapted from https://github.com/akka/akka-http/issues/195

    Usage: call httpClientWithRedirect(). implicit val actorMaterializer = ActorMaterializer() implicit val executionContext = system.dispatcher private val simpleClient: HttpRequest => Future[HttpResponse] = Http(context.system).singleRequest(_: HttpRequest) private val redirectingClient: HttpRequest => Future[HttpResponse] = RichHttpClient.httpClientWithRedirect(simpleClient) RichHttpClient.httpResponseToString(redirectingClient(HttpRequest(uri = uri))).map(responseString => { log.debug(responseString) val archiveItem = jsonHelper.fromString[ItemInfo](responseString) archiveItem.toPodcast(filePattern = podcastRequest.filePattern, useArchiveOrder = podcastRequest.useArchiveOrder, podcast = podcastRequest.podcastTemplate) })

    To dump to file: val httpResponseFuture = redirectingClient(HttpRequest(uri = dict.dictTarUrl))

    val destinationPath = Paths.get(dict.destinationFolder, dict.dictTarUrl.split("/").last) assert(new java.io.File(dict.destinationFolder).mkdirs()) val fileSink = FileIO.toPath(destinationPath) val ioResultFuture = httpResponseFuture.flatMap(response => { response.entity.dataBytes.runWith(fileSink) })

  2. object Utils

Ungrouped