1
1
mirror of https://github.com/openziti/zrok.git synced 2025-08-08 15:54:41 +02:00
Files
.github
bin
build
cmd
controller
docker
docs
drives
endpoints
environment
etc
nfpm
rest_client_zrok
rest_model_zrok
rest_server_zrok
sdk
golang
examples
http-server
pastebin
cmd
copyto
pastefrom
main.go
README.md
sdk
nodejs
python
specs
tui
ui
util
website
.flake8
.gitattributes
.gitignore
.goreleaser-darwin.yml
.goreleaser-linux-amd64.yml
.goreleaser-linux-arm64.yml
.goreleaser-linux-armel.yml
.goreleaser-linux-armhf.yml
.goreleaser-release.yml
.goreleaser-windows.yml
.markdownlint.yaml
ACKNOWLEDGEMENTS.md
BUILD.md
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
RELEASING.md
SECURITY.md
go.mod
go.sum
zrok/sdk/golang/examples/pastebin/cmd/pastefrom/main.go
2023-11-21 13:27:17 -06:00

49 lines
782 B
Go

package main
import (
"fmt"
"github.com/openziti/zrok/environment"
"github.com/openziti/zrok/sdk/golang/sdk"
"os"
)
const MAX_PASTE_SIZE = 64 * 1024
func main() {
if len(os.Args) < 2 {
panic("usage: pastefrom <shrToken>")
}
shrToken := os.Args[1]
root, err := environment.LoadRoot()
if err != nil {
panic(err)
}
acc, err := sdk.CreateAccess(root, &sdk.AccessRequest{ShareToken: shrToken})
if err != nil {
panic(err)
}
defer func() {
if err := sdk.DeleteAccess(root, acc); err != nil {
panic(err)
}
}()
conn, err := sdk.NewDialer(shrToken, root)
if err != nil {
panic(err)
}
defer func() {
_ = conn.Close()
}()
buf := make([]byte, MAX_PASTE_SIZE)
n, err := conn.Read(buf)
if err != nil {
panic(err)
}
fmt.Printf(string(buf[:n]))
}