aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/core/rest/package.scala
diff options
context:
space:
mode:
authorZach Smith <zach@driver.xyz>2017-10-16 11:54:59 -0700
committerZach Smith <zach@driver.xyz>2017-10-16 11:54:59 -0700
commit354a21d1a72867b352edbd0aa25b4980938d2749 (patch)
tree402bef387ab0e56da82820027f2b46ee4aa08df1 /src/main/scala/xyz/driver/core/rest/package.scala
parent8a34b953fa480bfea7e80a46eb4de6b20b4bca68 (diff)
downloaddriver-core-354a21d1a72867b352edbd0aa25b4980938d2749.tar.gz
driver-core-354a21d1a72867b352edbd0aa25b4980938d2749.tar.bz2
driver-core-354a21d1a72867b352edbd0aa25b4980938d2749.zip
Consolidate files
Diffstat (limited to 'src/main/scala/xyz/driver/core/rest/package.scala')
-rw-r--r--src/main/scala/xyz/driver/core/rest/package.scala23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/package.scala b/src/main/scala/xyz/driver/core/rest/package.scala
index e6eb8d6..6019c33 100644
--- a/src/main/scala/xyz/driver/core/rest/package.scala
+++ b/src/main/scala/xyz/driver/core/rest/package.scala
@@ -1,16 +1,33 @@
-package xyz.driver.core
+package xyz.driver.core.rest
-import akka.http.scaladsl.model.HttpRequest
+import akka.http.scaladsl.model.{HttpRequest, HttpResponse, ResponseEntity}
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server._
+import akka.http.scaladsl.unmarshalling.Unmarshal
import akka.stream.scaladsl.Flow
import akka.util.ByteString
import xyz.driver.tracing.TracingDirectives
+import scala.concurrent.Future
import scalaz.Scalaz.{intInstance, stringInstance}
import scalaz.syntax.equal._
-package object rest {
+trait Service
+
+trait HttpClient {
+ def makeRequest(request: HttpRequest): Future[HttpResponse]
+}
+
+trait ServiceTransport {
+
+ def sendRequestGetResponse(context: ServiceRequestContext)(requestStub: HttpRequest): Future[HttpResponse]
+
+ def sendRequest(context: ServiceRequestContext)(requestStub: HttpRequest): Future[Unmarshal[ResponseEntity]]
+}
+
+final case class Pagination(pageSize: Int, pageNumber: Int)
+
+object `package` {
object ContextHeaders {
val AuthenticationTokenHeader: String = "Authorization"
val PermissionsTokenHeader: String = "Permissions"