diff options
| author | jet2tlf <jet2tlf@gmail.com> | 2024-06-03 16:28:07 +0000 |
|---|---|---|
| committer | jet2tlf <jet2tlf@gmail.com> | 2024-06-03 16:28:07 +0000 |
| commit | 8a94110728cca144388958d4bd322045f8bfb9e4 (patch) | |
| tree | 898e27b416ad1a8c828a6af27d122b7fc83be307 /app/reader.go | |
| parent | 7225eed4e2609ec4ac02a377bd6505370d4442d4 (diff) | |
| download | http-server-go-8a94110728cca144388958d4bd322045f8bfb9e4.tar.gz http-server-go-8a94110728cca144388958d4bd322045f8bfb9e4.zip | |
codecrafters submit [skip ci]
Diffstat (limited to 'app/reader.go')
| -rw-r--r-- | app/reader.go | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/app/reader.go b/app/reader.go deleted file mode 100644 index 0a143a8..0000000 --- a/app/reader.go +++ /dev/null @@ -1,75 +0,0 @@ -package main - -import ( - "bufio" - "bytes" - "fmt" - "io" -) - -type RequestReader struct { - scanner *bufio.Scanner - lineBuf []byte -} - -func (r *RequestReader) read() ([]byte, error) { - ok := r.scanner.Scan() - if !ok { - err := r.scanner.Err() - if err == nil { - err = io.EOF - } - - return nil, err - } - - return r.scanner.Bytes(), nil -} - -func (r *RequestReader) line() ([]byte, error) { - if r.lineBuf == nil { - lineBuf, err := r.read() - if err != nil { - return nil, err - } - - r.lineBuf = lineBuf - } - - return r.lineBuf, nil -} - -func (r *RequestReader) element(index int) ([]byte, error) { - line, err := r.line() - if err != nil { - return nil, err - } - - return bytes.Split(line, []byte(" "))[index], nil -} - -func (r *RequestReader) Method() (string, error) { - fmt.Println("Reading method...") - element, err := r.element(0) - if err != nil { - return "", err - } - - return string(element), nil -} - -func (r *RequestReader) Target() (string, error) { - fmt.Println("Reading target...") - element, err := r.element(1) - if err != nil { - return "", err - } - - return string(element), nil -} - -func NewRequestReader(reader io.Reader) *RequestReader { - return &RequestReader{ - scanner: bufio.NewScanner(reader), - } -} |