aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Smith <zach@driver.xyz>2017-10-16 12:58:14 -0700
committerZach Smith <zach@driver.xyz>2017-10-16 13:41:24 -0700
commit3330c62e4ce6e775313a3bd7ce74aed871cd06d0 (patch)
tree05bf80368c82c8f74a01846f3421a10d599854f8
parent354a21d1a72867b352edbd0aa25b4980938d2749 (diff)
downloaddriver-core-3330c62e4ce6e775313a3bd7ce74aed871cd06d0.tar.gz
driver-core-3330c62e4ce6e775313a3bd7ce74aed871cd06d0.tar.bz2
driver-core-3330c62e4ce6e775313a3bd7ce74aed871cd06d0.zip
Move Implicits to package.scala
-rw-r--r--src/main/scala/xyz/driver/core/rest/Implicits.scala17
-rw-r--r--src/main/scala/xyz/driver/core/rest/package.scala19
2 files changed, 18 insertions, 18 deletions
diff --git a/src/main/scala/xyz/driver/core/rest/Implicits.scala b/src/main/scala/xyz/driver/core/rest/Implicits.scala
deleted file mode 100644
index 8b499dd..0000000
--- a/src/main/scala/xyz/driver/core/rest/Implicits.scala
+++ /dev/null
@@ -1,17 +0,0 @@
-package xyz.driver.core.rest
-
-import akka.http.scaladsl.marshalling.{ToEntityMarshaller, ToResponseMarshallable}
-import akka.http.scaladsl.model.StatusCodes
-
-import scala.concurrent.Future
-import scalaz.{Functor, OptionT}
-
-object Implicits {
- implicit class OptionTRestAdditions[T](optionT: OptionT[Future, T]) {
- def responseOrNotFound(successCode: StatusCodes.Success = StatusCodes.OK)(
- implicit F: Functor[Future],
- em: ToEntityMarshaller[T]): Future[ToResponseMarshallable] = {
- optionT.fold[ToResponseMarshallable](successCode -> _, StatusCodes.NotFound -> None)
- }
- }
-}
diff --git a/src/main/scala/xyz/driver/core/rest/package.scala b/src/main/scala/xyz/driver/core/rest/package.scala
index 6019c33..17cc3bb 100644
--- a/src/main/scala/xyz/driver/core/rest/package.scala
+++ b/src/main/scala/xyz/driver/core/rest/package.scala
@@ -1,6 +1,8 @@
package xyz.driver.core.rest
-import akka.http.scaladsl.model.{HttpRequest, HttpResponse, ResponseEntity}
+import akka.http.scaladsl.marshalling.{ToEntityMarshaller, ToResponseMarshallable}
+import akka.http.scaladsl.model.headers.{HttpOriginRange, Origin, `Access-Control-Allow-Origin`}
+import akka.http.scaladsl.model.{HttpRequest, HttpResponse, ResponseEntity, StatusCodes}
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server._
import akka.http.scaladsl.unmarshalling.Unmarshal
@@ -9,6 +11,7 @@ import akka.util.ByteString
import xyz.driver.tracing.TracingDirectives
import scala.concurrent.Future
+import scalaz.{Functor, OptionT}
import scalaz.Scalaz.{intInstance, stringInstance}
import scalaz.syntax.equal._
@@ -27,6 +30,16 @@ trait ServiceTransport {
final case class Pagination(pageSize: Int, pageNumber: Int)
+object Implicits {
+ implicit class OptionTRestAdditions[T](optionT: OptionT[Future, T]) {
+ def responseOrNotFound(successCode: StatusCodes.Success = StatusCodes.OK)(
+ implicit F: Functor[Future],
+ em: ToEntityMarshaller[T]): Future[ToResponseMarshallable] = {
+ optionT.fold[ToResponseMarshallable](successCode -> _, StatusCodes.NotFound -> None)
+ }
+ }
+}
+
object `package` {
object ContextHeaders {
val AuthenticationTokenHeader: String = "Authorization"
@@ -70,6 +83,10 @@ object `package` {
AuthProvider.SetPermissionsTokenHeader
)
+ def allowOrigin(originHeader: Option[Origin]): `Access-Control-Allow-Origin` =
+ `Access-Control-Allow-Origin`(
+ originHeader.fold[HttpOriginRange](HttpOriginRange.*)(h => HttpOriginRange(h.origins: _*)))
+
def serviceContext: Directive1[ServiceRequestContext] = extract(ctx => extractServiceContext(ctx.request))
def extractServiceContext(request: HttpRequest): ServiceRequestContext =