FrostFS HTTP Gateway
Find a file
Evgeniy Kulikov f14401c0c0
Update dependencies
- github.com/labstack/echo/v4 `v4.1.11 => v4.1.14`
- github.com/nspcc-dev/neofs-api `v0.2.14 => v0.3.1`
- github.com/pkg/errors `v0.8.1 => v0.9.1`
- github.com/prometheus/client_golang `v1.2.1 => v1.4.1`
- github.com/spf13/viper `v1.6.1 => v1.6.2`
- google.golang.org/grpc `v1.25.1 => v1.27.1`
2020-02-07 18:04:02 +03:00
.gitignore initial 2019-11-06 15:33:46 +03:00
Dockerfile NSPCC-762 Connection pool 2019-12-21 13:26:14 +03:00
go.mod Update dependencies 2020-02-07 18:04:02 +03:00
go.sum Update dependencies 2020-02-07 18:04:02 +03:00
grace.go initial 2019-11-06 15:33:46 +03:00
LICENSE.md NSPCC-587 Add License and Readme 2019-11-07 20:29:29 +03:00
logger.go NSPCC-762 Connection pool 2019-12-21 13:26:14 +03:00
main.go NSPCC-762 Connection pool 2019-12-21 13:26:14 +03:00
Makefile docker: update dockerfile and make command 2019-12-13 19:18:45 +03:00
misc.go Use object.FilenameHeader instead custom constant 2020-02-04 14:00:45 +03:00
pool.go NSPCC-762 Connection pool 2019-12-21 13:26:14 +03:00
README.md NSPCC-762 Connection pool 2019-12-21 13:26:14 +03:00
receive.go Use path.Base because hdr.Value can be something like /path/to/filename.ext 2020-02-04 14:02:29 +03:00
settings.go Migrate to NeoFS API 2020-02-04 13:35:25 +03:00

NeoFS HTTP Gateway

NeoFS HTTP Gateway is example of tool that provides basic interactions with NeoFS. You can download files from NeoFS Network using NeoFS Gateway.

Install

go get -u github.com/nspcc-dev/neofs-gw

Configuration

# Flags
      --pprof                      enable pprof
      --metrics                    enable prometheus
  -h, --help                       show help
  -v, --version                    show version
      --key string                 "generated" to generate key, path to private key file, hex string or wif (default "generated")
      --verbose                    debug gRPC connections
      --request_timeout duration   gRPC request timeout (default 5s)
      --connect_timeout duration   gRPC connect timeout (default 30s)
      --listen_address string      HTTP Gateway listen address (default "0.0.0.0:8082")
  -p, --peers stringArray          NeoFS nodes

# Environments:

GW_KEY=stirng                           - "generated" to generate key, path to private key file, hex string or wif (default "generated")
GW_REQUEST_TIMEOUT=Duration             - timeout for request
GW_CONNECT_TIMEOUT=Duration             - timeout for connection
GW_LISTEN_ADDRESS=host:port             - address to listen connections
GW_PEERS_<X>_ADDRESS=host:port          - address of NeoFS Node
GW_PEERS_<X>_WEIGHT=float               - weight of NeoFS Node
GW_PPROF=bool                           - enable/disable pprof (/debug/pprof)
GW_METRICS=bool                         - enable/disable prometheus metrics endpoint (/metrics)
GW_KEEPALIVE_TIME=Duration              - аfter a duration of this time if the client doesn't see any activity
it pings the server to see if the transport is still alive. 
GW_KEEPALIVE_TIMEOUT=Duration           - after having pinged for keepalive check, the client waits for a duration
of Timeout and if no activity is seen even after that the connection is closed
GW_KEEPALIVE_PERMIT_WITHOUT_STREAM=Bool - if true, client sends keepalive pings even with no active RPCs.
If false, when there are no active RPCs, Time and Timeout will be ignored and no keepalive pings will be sent.