From b4d62b81f26b90da9ea4540c4903b84722379e62 Mon Sep 17 00:00:00 2001 From: adamw Date: Thu, 1 Mar 2018 21:05:23 +0100 Subject: Additional asFile() constructor --- core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala | 4 +++- core/src/main/scala/com/softwaremill/sttp/package.scala | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala b/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala index 2916043..084ab50 100644 --- a/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala +++ b/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala @@ -50,7 +50,9 @@ object ResponseAs { private[sttp] def saveFile(file: File, is: InputStream, overwrite: Boolean): File = { if (!file.exists()) { - file.getParentFile.mkdirs() + if (file.getParentFile != null) { + file.getParentFile.mkdirs() + } file.createNewFile() } else if (!overwrite) { throw new IOException(s"File ${file.getAbsolutePath} exists - overwriting prohibited") diff --git a/core/src/main/scala/com/softwaremill/sttp/package.scala b/core/src/main/scala/com/softwaremill/sttp/package.scala index 8bd6a4b..dd5b940 100644 --- a/core/src/main/scala/com/softwaremill/sttp/package.scala +++ b/core/src/main/scala/com/softwaremill/sttp/package.scala @@ -108,6 +108,9 @@ package object sttp { def asStream[S]: ResponseAs[S, S] = ResponseAsStream[S, S]() + def asFile(path: String, overwrite: Boolean = false): ResponseAs[File, Nothing] = + ResponseAsFile(new File(path), overwrite) + def asFile(file: File, overwrite: Boolean = false): ResponseAs[File, Nothing] = ResponseAsFile(file, overwrite) -- cgit v1.2.3