summaryrefslogtreecommitdiff
path: root/nex/request.go
blob: 290d55d9b595cbcf085b8326471049e99062485d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package nex

import (
	"bufio"
	"io"
	"net/url"
	"strings"

	"tildegit.org/tjp/sliderule/internal/types"
)

// ParseRequest reads a nex request from an io.Reader.
func ParseRequest(rdr io.Reader) (*types.Request, error) {
	line, err := bufio.NewReader(rdr).ReadString('\n')
	if err != nil {
		return nil, err
	}
	line = strings.TrimSuffix(line, "\n")
	line = strings.TrimSuffix(line, "\r")

	return &types.Request{
		URL: &url.URL{
			Scheme:   "nex",
			Path:     line,
			OmitHost: true,
		},
	}, nil
}