2744a26b60
* tie defaults to releases this change makes it so that by default, the flag defaults are chosen based on whether the build was built as a release build or an ordinary build. release builds by default get release defaults, whereas ordinary builds by default get dev defaults. any binary can have its defaults changed by specifying --defaults=dev or --defaults=release Change-Id: I6d216aa345d211c69ad913159d492fac77b12c64 * make release defaults more clear this change extends cfgstruct structs to support either a 'default' tag, or a pair of 'devDefault' and 'releaseDefault' tags, but not both, for added clarity Change-Id: Ia098be1fa84b932fdfe90a4a4d027ffb95e249c6 * clarify cfgstruct.DefaultsFlag Change-Id: I55f2ff9080ebbc0ce83abf956e085242a92f883e
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
// Copyright (C) 2019 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/spf13/pflag"
|
|
"google.golang.org/grpc"
|
|
|
|
"storj.io/storj/pkg/cfgstruct"
|
|
"storj.io/storj/pkg/identity"
|
|
"storj.io/storj/pkg/peertls/tlsopts"
|
|
)
|
|
|
|
var (
|
|
targetAddr = pflag.String("target", "satellite.staging.storj.io:7777", "address of target")
|
|
|
|
identityConfig identity.Config
|
|
)
|
|
|
|
func init() {
|
|
cfgstruct.Bind(pflag.CommandLine, &identityConfig, cfgstruct.UseDevDefaults(), cfgstruct.ConfDir("$HOME/.storj/gw"))
|
|
}
|
|
|
|
func main() {
|
|
ctx := context.Background()
|
|
pflag.Parse()
|
|
identity, err := identityConfig.Load()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
clientOptions, err := tlsopts.NewOptions(identity, tlsopts.Config{})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
dialOption := clientOptions.DialUnverifiedIDOption()
|
|
|
|
conn, err := grpc.Dial(*targetAddr, dialOption, grpc.WithInsecure())
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
fmt.Println(conn.GetState())
|
|
err = conn.Invoke(ctx, "NonExistentMethod", nil, nil)
|
|
if err != nil && err.Error() != `rpc error: code = ResourceExhausted desc = malformed method name: "NonExistentMethod"` {
|
|
fmt.Println(err)
|
|
}
|
|
fmt.Println(conn.GetState())
|
|
err = conn.Close()
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
}
|