package goorgeous import ( "bufio" "bytes" "regexp" "strings" ) // ExtractOrgHeaders finds and returns all of the headers // from a bufio.Reader and returns them as their own byte slice func ExtractOrgHeaders(r *bufio.Reader) (fm []byte, err error) { var out bytes.Buffer endOfHeaders := true for endOfHeaders { p, err := r.Peek(2) if err != nil { return nil, err } if !charMatches(p[0], '#') && !charMatches(p[1], '+') { endOfHeaders = false break } line, _, err := r.ReadLine() if err != nil { return nil, err } out.Write(line) out.WriteByte('\n') } return out.Bytes(), nil } var reHeader = regexp.MustCompile(`^#\+(\w+?): (.*)`) // OrgHeaders find all of the headers from a byte slice and returns // them as a map of string interface func OrgHeaders(input []byte) (map[string]interface{}, error) { out := make(map[string]interface{}) scanner := bufio.NewScanner(bytes.NewReader(input)) for scanner.Scan() { data := scanner.Bytes() if !charMatches(data[0], '#') && !charMatches(data[1], '+') { return out, nil } matches := reHeader.FindSubmatch(data) if len(matches) < 3 { continue } key := string(matches[1]) val := matches[2] switch { case strings.ToLower(key) == "tags" || strings.ToLower(key) == "categories" || strings.ToLower(key) == "aliases": bTags := bytes.Split(val, []byte(" ")) tags := make([]string, len(bTags)) for idx, tag := range bTags { tags[idx] = string(tag) } out[key] = tags default: out[key] = string(val) } } return out, nil }
session(release): write data/sessions/5/c/5c815c2416f53d0b: no space left on device
github.com/go-macaron/session@v0.0.0-20190805070824-1a3cdc6f5659/session.go:199 (0x8b2934) gopkg.in/macaron.v1@v1.3.9/context.go:79 (0x83d0a0) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8) gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8) gopkg.in/macaron.v1@v1.3.9/context.go:112 (0x84fdb5) gopkg.in/macaron.v1@v1.3.9/recovery.go:161 (0x84fda8) gopkg.in/macaron.v1@v1.3.9/logger.go:40 (0x840c73) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07) github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8) gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8) gopkg.in/macaron.v1@v1.3.9/router.go:187 (0x850fc6) gopkg.in/macaron.v1@v1.3.9/router.go:303 (0x8493e5) gopkg.in/macaron.v1@v1.3.9/macaron.go:220 (0x841fca) net/http/server.go:2836 (0x7a79b2) net/http/server.go:1924 (0x7a341b) runtime/asm_amd64.s:1373 (0x46f9f0)