diff options
| author | Mikhail Osipov <mike.osipov@gmail.com> | 2020-02-17 11:56:43 +0300 |
|---|---|---|
| committer | Mikhail Osipov <mike.osipov@gmail.com> | 2020-02-19 23:51:31 +0300 |
| commit | bd5339bff8bf5f5e877e94dfef265a22570a69c7 (patch) | |
| tree | 5902df7a9f21c00d9c414f6b0c2b79aadfd84752 /pkg/server/module/hex.go | |
| parent | df935315c7201b7d42eb361b3ac3d36fe83e53e6 (diff) | |
first working version
Diffstat (limited to 'pkg/server/module/hex.go')
| -rw-r--r-- | pkg/server/module/hex.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/pkg/server/module/hex.go b/pkg/server/module/hex.go new file mode 100644 index 0000000..2ffd1fc --- /dev/null +++ b/pkg/server/module/hex.go @@ -0,0 +1,27 @@ +package module + +import ( + "tunnel/pkg/server/queue" + "encoding/hex" +) + +func hexEncoder(rq, wq queue.Q) error { + enc := hex.NewEncoder(wq.Writer()) + + for b := range rq { + enc.Write(b) + } + + return nil +} + +func hexDecoder(rq, wq queue.Q) error { + r := hex.NewDecoder(rq.Reader()) + w := wq.Writer() + return queue.IoCopy(r, w) +} + +func init() { + register("hex", pipe(hexEncoder)) + register("unhex", pipe(hexDecoder)) +} |
