From 465526fb524526e937b8f9d3d6f22fabbb11c43b Mon Sep 17 00:00:00 2001 From: Chris Rebert Date: Tue, 24 Jun 2014 01:36:03 -0700 Subject: change namespacing --- .../rorschach/server/ActorWithLogging.scala | 2 +- .../com/getbootstrap/rorschach/server/Boot.scala | 4 +-- .../server/GitHubIssuesWebHooksDirectives.scala | 4 +-- .../rorschach/server/HubSignatureDirectives.scala | 4 +-- .../getbootstrap/rorschach/server/Settings.scala | 4 +-- .../com/getbootstrap/rorschach/util/HmacSha1.scala | 2 +- .../com/getbootstrap/rorschach/util/package.scala | 35 ++++++++++++++++++++++ 7 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 src/main/scala/com/getbootstrap/rorschach/util/package.scala (limited to 'src') diff --git a/src/main/scala/com/getbootstrap/rorschach/server/ActorWithLogging.scala b/src/main/scala/com/getbootstrap/rorschach/server/ActorWithLogging.scala index c9c3a29..13190c7 100644 --- a/src/main/scala/com/getbootstrap/rorschach/server/ActorWithLogging.scala +++ b/src/main/scala/com/getbootstrap/rorschach/server/ActorWithLogging.scala @@ -1,4 +1,4 @@ -package com.chrisrebert.lmvtfy.server +package com.getbootstrap.rorschach.server import akka.actor.Actor import akka.actor.ActorLogging diff --git a/src/main/scala/com/getbootstrap/rorschach/server/Boot.scala b/src/main/scala/com/getbootstrap/rorschach/server/Boot.scala index dce7a3a..2053b99 100644 --- a/src/main/scala/com/getbootstrap/rorschach/server/Boot.scala +++ b/src/main/scala/com/getbootstrap/rorschach/server/Boot.scala @@ -1,4 +1,4 @@ -package com.chrisrebert.lmvtfy.server +package com.getbootstrap.rorschach.server import scala.concurrent.duration._ import scala.util.Try @@ -8,7 +8,7 @@ import spray.can.Http import akka.pattern.ask import akka.routing.SmallestMailboxPool import akka.util.Timeout -import com.chrisrebert.lmvtfy.github.GitHubIssueCommenter +import com.getbootstrap.rorschach.github.GitHubIssueCommenter object Boot extends App { diff --git a/src/main/scala/com/getbootstrap/rorschach/server/GitHubIssuesWebHooksDirectives.scala b/src/main/scala/com/getbootstrap/rorschach/server/GitHubIssuesWebHooksDirectives.scala index 4ab9ca9..f8ea9cb 100644 --- a/src/main/scala/com/getbootstrap/rorschach/server/GitHubIssuesWebHooksDirectives.scala +++ b/src/main/scala/com/getbootstrap/rorschach/server/GitHubIssuesWebHooksDirectives.scala @@ -1,6 +1,6 @@ -package com.chrisrebert.lmvtfy.server +package com.getbootstrap.rorschach.server -import com.chrisrebert.lmvtfy.github.{IssueOrCommentEvent, GitHubJsonProtocol} +import com.getbootstrap.rorschach.github.{IssueOrCommentEvent, GitHubJsonProtocol} import scala.util.{Success, Failure, Try} import spray.json._ import spray.routing.{Directive1, ValidationRejection} diff --git a/src/main/scala/com/getbootstrap/rorschach/server/HubSignatureDirectives.scala b/src/main/scala/com/getbootstrap/rorschach/server/HubSignatureDirectives.scala index 9de2f15..744232f 100644 --- a/src/main/scala/com/getbootstrap/rorschach/server/HubSignatureDirectives.scala +++ b/src/main/scala/com/getbootstrap/rorschach/server/HubSignatureDirectives.scala @@ -1,9 +1,9 @@ -package com.chrisrebert.lmvtfy.server +package com.getbootstrap.rorschach.server import scala.util.{Try,Success,Failure} import spray.routing.{Directive1, MalformedHeaderRejection, MalformedRequestContentRejection, ValidationRejection} import spray.routing.directives.{BasicDirectives, HeaderDirectives, RouteDirectives, MarshallingDirectives} -import com.chrisrebert.lmvtfy.util.{HmacSha1,Utf8ByteArray} +import com.getbootstrap.rorschach.util.{HmacSha1,Utf8ByteArray} trait HubSignatureDirectives { diff --git a/src/main/scala/com/getbootstrap/rorschach/server/Settings.scala b/src/main/scala/com/getbootstrap/rorschach/server/Settings.scala index 76b4eb6..770f52e 100644 --- a/src/main/scala/com/getbootstrap/rorschach/server/Settings.scala +++ b/src/main/scala/com/getbootstrap/rorschach/server/Settings.scala @@ -1,4 +1,4 @@ -package com.chrisrebert.lmvtfy.server +package com.getbootstrap.rorschach.server import scala.collection.JavaConversions._ import com.typesafe.config.Config @@ -8,7 +8,7 @@ import akka.actor.ExtensionId import akka.actor.ExtensionIdProvider import akka.actor.ExtendedActorSystem import akka.util.ByteString -import com.chrisrebert.lmvtfy.util.Utf8String +import com.getbootstrap.rorschach.util.Utf8String class SettingsImpl(config: Config) extends Extension { val RepoFullNames: Set[String] = config.getStringList("lmvtfy.github-repos-to-watch").toSet diff --git a/src/main/scala/com/getbootstrap/rorschach/util/HmacSha1.scala b/src/main/scala/com/getbootstrap/rorschach/util/HmacSha1.scala index 2856fea..6a21d0b 100644 --- a/src/main/scala/com/getbootstrap/rorschach/util/HmacSha1.scala +++ b/src/main/scala/com/getbootstrap/rorschach/util/HmacSha1.scala @@ -1,4 +1,4 @@ -package com.chrisrebert.lmvtfy.util +package com.getbootstrap.rorschach.util import javax.crypto.Mac import javax.crypto.spec.SecretKeySpec diff --git a/src/main/scala/com/getbootstrap/rorschach/util/package.scala b/src/main/scala/com/getbootstrap/rorschach/util/package.scala new file mode 100644 index 0000000..1271047 --- /dev/null +++ b/src/main/scala/com/getbootstrap/rorschach/util/package.scala @@ -0,0 +1,35 @@ +package com.getbootstrap.rorschach + +import java.nio.charset.Charset +import scala.collection.mutable +import scala.util.Try +import spray.http.Uri + +package object util { + private val utf8 = Charset.forName("UTF-8") + + implicit class Utf8String(str: String) { + def utf8Bytes: Array[Byte] = str.getBytes(utf8) + } + + implicit class Utf8ByteArray(bytes: Array[Byte]) { + def utf8String: Try[String] = Try { new String(bytes, utf8) } + } + + implicit class RichStack[T](stack: mutable.Stack[T]) { + def popOption(): Option[T] = Try{ stack.pop() }.toOption + def topOption: Option[T] = Try{ stack.top }.toOption + } + + implicit class RichUri(uri: Uri) { + import spray.http.Uri.NamedHost + import spray.http.Uri.Query.{Empty=>EmptyQuery} + + def isHttp = uri.scheme == "http" || uri.scheme == "https" + def lacksUserInfo = uri.authority.userinfo.isEmpty + def lacksNonDefaultPort = uri.authority.port <= 0 + def hasNamedHost = uri.authority.host.isInstanceOf[NamedHost] + def isSafe = uri.isHttp && uri.lacksUserInfo && uri.hasNamedHost && uri.lacksNonDefaultPort && uri.isAbsolute + def withoutQuery = uri.withQuery(EmptyQuery) + } +} -- cgit v1.2.3