Skip to content

Instantly share code, notes, and snippets.

Jason Mitchell jasonmitchell

Block or report user

Report or block jasonmitchell

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Auth.ps1
function Get-BasicAuthCredentials {
param (
$user = "admin",
$password = "changeit"
$basicAuthPair = "${user}:${password}"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($basicAuthPair))
$basicAuthValue = "Basic $encodedCreds"
return $basicAuthValue
jasonmitchell / Commands.cs
Last active Jun 5, 2017
Event sourced handler
View Commands.cs
public class RequestReservation { }
public class ConfirmReservation { }
View 2113-https.yaml
MemDb: true
Log: ../2113-https-logs
IntTcpPort: 1112
ExtTcpPort: 1113
IntHttpPort: 2112
ExtHttpPort: 2113
IntHttpPrefixes: https://*:2112/
ExtHttpPrefixes: https://*:2113/
jasonmitchell / Description
Last active May 14, 2017
InvalidOperationException - "SslStream already authenticated"
View Description
Single node
Any HTTPS request from external source.
Some extra logging added
Still exists on mono 5.0.0
Curl to
Response received
"SslStream already authenticated" logged
Navigate to in a browser
View 2113.yaml
MemDb: true
Log: .\2113-logs
IntTcpPort: 1112
ExtTcpPort: 1113
IntHttpPort: 2112
ExtHttpPort: 2113
IntHttpPrefixes: http://*:2112/
ExtHttpPrefixes: http://*:2113/
jasonmitchell / Aggregate.cs
Created Apr 1, 2017
Event Sourced Aggregates
View Aggregate.cs
using System;
using System.Collections.Generic;
namespace Aggregates
public abstract class Aggregate : IAggregate
private readonly Dictionary<Type, Action<object>> handlers = new Dictionary<Type, Action<object>>();
private readonly Queue<object> uncommittedEvents = new Queue<object>();
private int version;
View ReadingEvents.cs
public async Task ReadsEventsFromStream()
// Create a connection to the embedded event store.
using (var connection = EmbeddedEventStoreConnection.Create(_node, _connectionSettingsBuilder))
// Write some events - omitted for clarity
// When reading from a stream you can specify the start position and how many events to read.
// The maximum number of events that can be read in one call is 4096 to large streams would require reading in pages.
View aggregate.cs
class Order : Aggregate
static Order()
Given<Order, OrderStarted>((x, e) =>
x.Id = e.Id;
x.customerId = e.CustomerId;
x.status = OrderStatus.Open; = new List<Ticket>();

Keybase proof

I hereby claim:

  • I am jasonmitchell on github.
  • I am jasonmitchell ( on keybase.
  • I have a public key whose fingerprint is BD48 5BB9 3F4D 1463 BE4E CE8E C9BC 9458 59A1 B9DC

To claim this, I am signing this object:

View stream_rename.js
.whenAny(function (s, e) {
var newStreamName = e.streamId.replace('MyOldStreamCategory', 'MyNewStreamCategory');
emit(newStreamName, e.eventType,, e.metadata);
You can’t perform that action at this time.