Skip to content

Instantly share code, notes, and snippets.

Avatar

Jason Mitchell jasonmitchell

View GitHub Profile
View index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
View Commands.cs
public class CreateFolder
{
public string Name { get; set; }
}
public class DeleteFolder
{
public Guid Id { get; set; }
}
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
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
IntIp: 127.0.0.1
ExtIp: 127.0.0.1
IntTcpPort: 1112
ExtTcpPort: 1113
IntHttpPort: 2112
ExtHttpPort: 2113
IntHttpPrefixes: https://*:2112/
ExtHttpPrefixes: https://*:2113/
@jasonmitchell
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 https://127.0.0.1:2113/ping
Response received
"SslStream already authenticated" logged
Navigate to https://127.0.0.1:2113 in a browser
View 2113.yaml
MemDb: true
Log: .\2113-logs
IntIp: 127.0.0.1
ExtIp: 127.0.0.1
IntTcpPort: 1112
ExtTcpPort: 1113
IntHttpPort: 2112
ExtHttpPort: 2113
IntHttpPrefixes: http://*:2112/
ExtHttpPrefixes: http://*:2113/
@jasonmitchell
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
[Fact]
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;
x.tickets = new List<Ticket>();
You can’t perform that action at this time.