aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/scala/com/softwaremill/sttp/model/RequestBody.scala
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/scala/com/softwaremill/sttp/model/RequestBody.scala')
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/model/RequestBody.scala41
1 files changed, 31 insertions, 10 deletions
diff --git a/core/src/main/scala/com/softwaremill/sttp/model/RequestBody.scala b/core/src/main/scala/com/softwaremill/sttp/model/RequestBody.scala
index 0c737f0..7499048 100644
--- a/core/src/main/scala/com/softwaremill/sttp/model/RequestBody.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/model/RequestBody.scala
@@ -4,18 +4,39 @@ import java.io.InputStream
import java.nio.ByteBuffer
import java.nio.file.Path
-import com.softwaremill.sttp.BodySerializer
+import com.softwaremill.sttp._
sealed trait RequestBody[+S]
case object NoBody extends RequestBody[Nothing]
-case class SerializableBody[T](f: BodySerializer[T], t: T)
- extends RequestBody[Nothing]
-
-sealed trait BasicRequestBody extends RequestBody[Nothing]
-case class StringBody(s: String, encoding: String) extends BasicRequestBody
-case class ByteArrayBody(b: Array[Byte]) extends BasicRequestBody
-case class ByteBufferBody(b: ByteBuffer) extends BasicRequestBody
-case class InputStreamBody(b: InputStream) extends BasicRequestBody
-case class PathBody(f: Path) extends BasicRequestBody
+
+sealed trait BasicRequestBody extends RequestBody[Nothing] {
+ def defaultContentType: Option[String]
+}
+
+case class StringBody(
+ s: String,
+ encoding: String,
+ defaultContentType: Option[String] = Some(TextPlainContentType)
+) extends BasicRequestBody
+
+case class ByteArrayBody(
+ b: Array[Byte],
+ defaultContentType: Option[String] = Some(ApplicationOctetStreamContentType)
+) extends BasicRequestBody
+
+case class ByteBufferBody(
+ b: ByteBuffer,
+ defaultContentType: Option[String] = Some(ApplicationOctetStreamContentType)
+) extends BasicRequestBody
+
+case class InputStreamBody(
+ b: InputStream,
+ defaultContentType: Option[String] = Some(ApplicationOctetStreamContentType)
+) extends BasicRequestBody
+
+case class PathBody(
+ f: Path,
+ defaultContentType: Option[String] = Some(ApplicationOctetStreamContentType)
+) extends BasicRequestBody
case class StreamBody[S](s: S) extends RequestBody[S]