Skip to content

Commit

Permalink
ss-6: small changes and hide twitter secrets
Browse files Browse the repository at this point in the history
  • Loading branch information
piecyk committed Feb 1, 2015
1 parent 48f5f9d commit 7eb38d1
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 29 deletions.
3 changes: 2 additions & 1 deletion src/main/scala/com/drwal/Boot.scala
Expand Up @@ -7,6 +7,7 @@ import com.drwal.user.{UserReactiveDao, UserDao, UserEndpoint}
import com.drwal.utils.MongoHelper
import spray.can.Http
import scala.util.{Properties}
import com.drwal.utils.BackendConfig


trait DrwalActorSystem {
Expand Down Expand Up @@ -40,6 +41,6 @@ object Boot extends App with DrwalActorSystem with MongoHelper {
val userDao: UserDao = new UserReactiveDao(db, system)
val service = system.actorOf(Props(classOf[DependencyInjector], userDao), name = "execution")

IO(Http) ! Http.Bind(service, "0.0.0.0", Properties.envOrElse("PORT", "8080").toInt)
IO(Http) ! Http.Bind(service, BackendConfig.url, BackendConfig.port)
log.info("Backend Service End")
}
9 changes: 5 additions & 4 deletions src/main/scala/com/drwal/twitter/TwitterBearerToken.scala
Expand Up @@ -15,12 +15,13 @@ import spray.httpx.SprayJsonSupport
import spray.client.pipelining._
import org.slf4j.LoggerFactory

import com.drwal.utils.BackendConfig.TwitterConfig


object TwitterBearerToken extends TwitterBearerToken {

// TODO: like a pro :D
val consumerKey = "Wtgms4Haxr0TmuQnHqNRHtFfW"
val consumerSecret = "THORDh6AP2WUJlZPzguxygorY8fbFB3RdvoMXEqnEsnAk7UEmE"
val consumerKey = TwitterConfig.consumerKey
val consumerSecret = TwitterConfig.consumerSecret

val credentials = Base64.encodeBase64String(s"$consumerKey:$consumerSecret".getBytes())

Expand All @@ -47,7 +48,7 @@ trait TwitterBearerToken {
val pipeline: HttpRequest => Future[TwitterToken] = (
addHeader("Authorization", s"Basic $credentials")
~> addHeader("Accept", "application/json")
~> logRequest
//~> logRequest
//~> encode(Gzip)
~> sendReceive
//~> decode(Deflate)
Expand Down
28 changes: 12 additions & 16 deletions src/main/scala/com/drwal/utils/BackendConfig.scala
@@ -1,32 +1,28 @@
package com.drwal.utils

import com.typesafe.config.{Config, ConfigFactory}
import scala.util.{Properties}

object BackendConfig {

val config: Config = ConfigFactory.load.getConfig("drwal.config")

val environment = System.getProperty("TRAVIS") match {
case null => "dev"
case "" => "dev"
case x: String => x
}
val url = "0.0.0.0"
val port = Properties.envOrElse("PORT", "8080").toInt

object MongoConfig {
private val mongoConfig = config.getConfig("mongodb")
//private val mongoConfig = config.getConfig("mongodb")

var url = ""
var database = ""
val uri = Properties.envOrElse("MONGOLAB_URI", "localhost")
val database = "heroku_app33528479"
}

if (environment == "dev") {
url = mongoConfig.getString("url")
database = mongoConfig.getString("database")
} else {
url = System.getProperty("MONGOLAB_URI")
database = mongoConfig.getString("heroku_app33528479")
}
object TwitterConfig {
val _consumerKey = ""
val _consumerSecret = ""

// TODO: travis config
val consumerKey = Properties.envOrElse("CONSUMER_KEY", _consumerKey)
val consumerSecret = Properties.envOrElse("CONSUMER_SECRET", _consumerSecret)
}

}
21 changes: 13 additions & 8 deletions src/main/scala/com/drwal/utils/MongoHelper.scala
@@ -1,25 +1,30 @@
package com.drwal.utils

import reactivemongo.api.{MongoConnection, MongoDriver, DB}
import scala.util.{Failure, Success, Try, Properties}
import scala.concurrent._
import akka.pattern.ask
import akka.util.Timeout

import scala.concurrent.duration._
import scala.util.{Failure, Success, Try, Properties}
import scala.concurrent._

import reactivemongo.api.{MongoConnection, MongoDriver, DB}

import org.slf4j.LoggerFactory

import com.drwal.utils.BackendConfig.MongoConfig


trait MongoHelper {

def connnectToDb(): Future[DB] = {
import scala.concurrent.ExecutionContext.Implicits.global

val promise = Promise[DB]()
val driver = new MongoDriver
val uri = Properties.envOrElse("MONGOLAB_URI", "localhost" )
val connection: Try[MongoConnection] = MongoConnection.parseURI(uri).map { parsedUri => driver.connection(parsedUri) }

val connection: Try[MongoConnection] = MongoConnection.parseURI(MongoConfig.uri).map { parsedUri => driver.connection(parsedUri) }

connection match {
case Success(con) => promise.success(con("heroku_app33528479"))
case Success(con) => promise.success(con(MongoConfig.database))
case Failure(e) => throw new IllegalStateException("should not have come here")
}
promise.future
Expand All @@ -33,5 +38,5 @@ trait MongoHelper {
log.info("resolveConnectToDb = " + db)
Await.result(db, timeout.duration).asInstanceOf[DB]
}

}

0 comments on commit 7eb38d1

Please sign in to comment.