flick

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit d5c18cfc3e1140317e24371aeef73bb6e36ded35
Author: root <root@lucy.lt>
Date:   Tue, 27 Jul 2021 14:19:29 +0300

Initial commit

Diffstat:
A.gitignore | 5+++++
Ago.mod | 5+++++
Amain.go | 49+++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,5 @@ +users/* +root +finger +*.exe +*.sum diff --git a/go.mod b/go.mod @@ -0,0 +1,5 @@ +module finger + +go 1.16 + +require github.com/mitchellh/go-finger v0.0.0-20170709001451-be12f0ff8b97 // indirect diff --git a/main.go b/main.go @@ -0,0 +1,49 @@ +package main + +import "github.com/mitchellh/go-finger" +import ( + "fmt" + "bufio" + "os" + "io/ioutil" + "io" + "context" +) + +func main() { + + + go finger.Serve(finger.HandlerFunc(func(ctx context.Context, w io.Writer, q *finger.Query) { + text := "" + filename := "" + + if q.Username == "" { + filename = "root" + } else { + filename = q.Username + } + + file, err := os.Open(filename) + if err != nil { + text = "ERR: No such user!" + } + defer func() { + if err = file.Close(); err != nil { + } + }() + + + if err == nil { + b, err := ioutil.ReadAll(file) + if err != nil { + text = "ERR: No such user!" + } else { + text = "MSG: " + string(b) + } + } + + w.Write([]byte(fmt.Sprintln(text))) + })) + fmt.Print("Press 'Enter' to exit...") + bufio.NewReader(os.Stdin).ReadBytes('\n') +}