func Permissions(h http.Header) []string {
	p := h.Get("X-Sandstorm-Permissions")
	if p == "" {
		return nil
	}
	return splitComma(p)
}
Permissions extracts the permissions in the request header.
package sandstormhdr
import (
	"log"
	"net/http"
	"strconv"
)
type User struct {
	ID string
	Name string
	Handle string
	PictureURL string
	Pronouns string
}
func (u *User) String() string {
	return u.Name
}
func GetUser(h http.Header) *User {
	id := h.Get("X-Sandstorm-User-Id")
	if id == "" {
		return nil
	}
	return &User{
		ID:         id,
		Name:       UserName(h),
		Handle:     h.Get("X-Sandstorm-Preferred-Handle"),
		PictureURL: h.Get("X-Sandstorm-User-Picture"),
		Pronouns:   h.Get("X-Sandstorm-User-Pronouns"),
	}
}
func UserName(h http.Header) string {
	const hdrName = "X-Sandstorm-Username"
	name, err := unescape(h.Get(hdrName))
	if err != nil {
		log.Printf("sandstormhdr: failed to parse %s: %v", hdrName, err)
		return ""
	}
	return name
}