diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-08-26 12:09:06 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-08-26 12:09:06 -0600 |
commit | a6ac8f680062069b2821214f5b74cc96673ee4ca (patch) | |
tree | 75e403a1c4a4b82ea81a353e84060b6a3b70d307 /src/nslcd_proto/util.go | |
parent | 75c89781ab3ed908307920e4acdeb86f275f2faa (diff) |
clean up
Diffstat (limited to 'src/nslcd_proto/util.go')
-rw-r--r-- | src/nslcd_proto/util.go | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/nslcd_proto/util.go b/src/nslcd_proto/util.go new file mode 100644 index 0000000..38c5705 --- /dev/null +++ b/src/nslcd_proto/util.go @@ -0,0 +1,62 @@ +package nslcd_proto + +import "io" + +type NslcdError string + +func (o NslcdError) Error() string { + return string(o) +} + +func Write(fd io.Writer, data interface{}) (err error) { + err = nil + defer func() { + if r := recover(); r != nil { + switch r := r.(type) { + case error: + err = r + default: + panic(r) + } + } + }() + write(fd, data) + return +} + +func Read(fd io.Reader, data interface{}) (err error) { + err = nil + defer func() { + if r := recover(); r != nil { + switch r := r.(type) { + case error: + err = r + default: + panic(r) + } + } + }() + read(fd, data) + return +} + +func HandleRequest(in io.Reader, out io.Writer, backend Backend) (err error) { + err = nil + defer func() { + if r := recover(); r != nil { + switch r := r.(type) { + case error: + err = r + default: + panic(r) + } + } + }() + handleRequest(in, out, backend) + return +} + +// Initialize() error { func +// e := c.SetReadDeadline(...) +// e := c.SetWriteDeadline(...) +// } |