WIP: FrostFS HTTP Gateway
Find a file
Evgeniy Kulikov 97d1a99f58
NSPCC-493 Separate repository for NeoFS GW
- Update dependencies
- Update README (configuration: flags section)
- Add gRPC logger and flag to enable gRPC connection debugging
- Refactored settings (add flags, use defaults instead of yaml representation)
2019-12-13 19:09:14 +03:00
.gitignore initial 2019-11-06 15:33:46 +03:00
Dockerfile initial 2019-11-06 15:33:46 +03:00
go.mod NSPCC-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +03:00
go.sum NSPCC-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +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-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +03:00
main.go NSPCC-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +03:00
Makefile update proto / crypto / makefile 2019-11-18 19:59:59 +03:00
misc.go NSPCC-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +03:00
README.md NSPCC-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +03:00
receive.go NSPCC-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +03:00
settings.go NSPCC-493 Separate repository for NeoFS GW 2019-12-13 19:09:14 +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

  -h, --help                       show help
  -v, --version                    show version
      --key string                 "gen" to generate key, path to private key file, hex string or wif (default "gen")
      --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")
      --neofs_address string       NeoFS Node address for proxying requests (default "0.0.0.0:8080")

# Environments:

GW_KEY=stirng                           - "gen" to generate key, path to private key file, hex string or wif (default "gen")
GW_REQUEST_TIMEOUT=Duration             - timeout for request
GW_CONNECT_TIMEOUT=Duration             - timeout for connection
GW_LISTEN_ADDRESS=host:port             - address to listen connections
GW_NEOFS_ADDRESS=host:port              - address of NeoFS Node
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.