Skip to content

Instantly share code, notes, and snippets.

View trbngr's full-sized avatar

Chris Martin trbngr

  • Phoenix, AZ, USA
View GitHub Profile
package com.company
import akka.actor.ActorSystem
import akka.http.scaladsl.model.StatusCodes._
import akka.http.scaladsl.model.Uri
import akka.util.Timeout
import com.company.Crawler.Destination
import com.company.model.AliasRequest
import scala.concurrent.duration._
@trbngr
trbngr / GraphQLService.scala
Created October 13, 2016 23:03
Parse GraphQl Request with Circe.
case class GraphQlRequest(query: String, operation: Option[String], variables: Json)
def parseRequest: Directive1[GraphQlRequest] = {
import cats.data.Xor
import io.circe.ParsingFailure
import io.circe.parser.{parse ⇒ parseJson}
entity(as[Json]).map { json ⇒
val cursor = json.hcursor
val variables = {
@trbngr
trbngr / !usage.cs
Last active September 25, 2016 00:51
Custom configs for Akka.net
private static ActorSystem CreateActorSystem(string systemName)
{
var config = ConfigurationFactory.Load()
.WithFallback(CustomConfig.Create(systemName))
.WithFallback(ClusterSingletonManager.DefaultConfig())
.WithFallback(RedisPersistence.DefaultConfig());
var path = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "akka.generated.conf"));
File.WriteAllText(path, config.ToString(true));
@trbngr
trbngr / ADTMacros.scala
Last active July 16, 2019 18:06
DynamoFormats for ADT
package com.company.macros
import scala.reflect.macros.blackbox
class ADTMacros(val c: blackbox.Context) {
import c.universe._
def dynamoFormat[T: c.WeakTypeTag]: Tree = {
generate[T] { (tpe, symbols) =>
object Protocol extends TopicOneSupport with TopicTwoSupport {
/*can't be sealed now*/ trait PMessage
}
@trbngr
trbngr / ADTMacros.scala
Created September 1, 2016 01:04
Json4s Custom Serializer Macro
package com.company.macros
import scala.reflect.macros.blackbox
class ADTMacros(val c: blackbox.Context) {
import c.universe._
def customSerializer[T: c.WeakTypeTag]: Tree = {
generate[T] { (tpe, symbols) =>
@trbngr
trbngr / JsonSerializer.scala
Created August 30, 2016 20:50
json4s serializer for [EventStore.Akka.Persistence](https://github.com/EventStore/EventStore.Akka.Persistence)
package com.company.serialization
import java.nio.ByteBuffer
import java.nio.charset.Charset
import akka.actor.{ActorRef, ExtendedActorSystem}
import akka.persistence.PersistentRepr
import akka.persistence.eventstore.EventStoreSerializer
import akka.persistence.eventstore.snapshot.EventStoreSnapshotStore.SnapshotEvent
import akka.persistence.journal.Tagged
import scala.concurrent.{ExecutionContext, Future}
import scala.concurrent.ExecutionContext.Implicits.global
object ModelReaders {
implicit object UserReader extends ModelReader[User] {
def read(repo: Repo, id: Int) = repo.getUser(id)
}
implicit object RoomReader extends ModelReader[Room] {
def read(repo: Repo, id: Int): Future[Option[Room]] = repo.getRoom(id)
}
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="akka" type="Akka.Configuration.Hocon.AkkaConfigurationSection, Akka" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<akka>
@trbngr
trbngr / SubscriptionRoot.js
Last active July 22, 2016 19:06
My root component for a relay-subscriptions application.
import React, {Component, PropTypes} from 'react';
import {SubscriptionProvider} from 'relay-subscriptions'
import uuid from 'uuid'
const outgoing = {
subscribe: 'subscribe',
ping: 'ping'
};
const incoming = {