aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala4
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/package.scala3
2 files changed, 6 insertions, 1 deletions
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)