This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// THIS IS THE REDESIGNED VERSION (see 3. middleware.go for my original approach) | |
package middleware | |
import ( | |
"net/http" | |
) | |
// Decorator is a middleware function. | |
type Decorator func(http.Handler) http.Handler |
Start with a Dockerfile:
FROM golang:latest
RUN apt-get update -y && apt-get install git -y
CMD ["/bin/bash"]
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"encoding/json" | |
"fmt" | |
) | |
func main() { | |
var jsonBlob = []byte(`[ | |
{"str": "Foo", "num": "1", "bool": "true", "its": 3}, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Check that given variables are set and all have non-empty values, | |
# die with an error otherwise. | |
# | |
# PARAMS: | |
# 1. Variable name(s) to test. | |
# 2. (optional) Error message to print. | |
# | |
# EXAMPLE: | |
# @:$(call check_defined, ENV_REGION, you must set ENV_REGION=usc1|awsuse2) | |
# |
First install VirtualBox:
https://www.virtualbox.org/wiki/Testbuilds
Next download the Windows ISO:
https://www.microsoft.com/software-download/windows11
Watch this video which explains some of the VirtualBox setup:
https://www.youtube.com/watch?v=1BOcED3RFGM&t=1s
This directory contains a Compute application that proxies incoming requests onto https://http-me.glitch.me/.
There is a run.sh
script which will attempt to validate the
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.PHONY: bin-viceroy | |
bin-viceroy: # Download latest version of Viceroy to ./bin/ directory | |
@arch=$$(uname -m | sed 's/x86_64/amd64/'); \ | |
os=$$(uname -s | tr '[:upper:]' '[:lower:]'); \ | |
url=$$(curl -s https://api.github.com/repos/fastly/viceroy/releases/latest | jq --arg arch $$arch --arg os $$os -r '.assets[] | select((.name | contains($$arch)) and (.name | contains($$os))) | .browser_download_url'); \ | |
filename=$$(basename $$url); \ | |
curl -sLO $$url && mkdir -p bin && tar -xzvf $$filename --directory ./bin/ && \ | |
./bin/viceroy --version && rm $$filename && sudo cp ./bin/viceroy /usr/local/bin/viceroy # NOTE: sudo is a no-op in GitHub Actions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// https://play.golang.com/p/fLovZCiAzn1 | |
package main | |
import ( | |
"fmt" | |
) | |
type myString string | |
func main() { |
This is a working example as used by Domainr
https://go.dev/play/p/TH_HdwDaUiN
package main
import (
"context"
"fmt"
"log/slog"
NewerOlder