├── .dockerignore ├── .drone.yml ├── .gitignore ├── Dockerfile-coverage ├── Dockerfile-test ├── README.md ├── doc ├── cli.png ├── example │ └── routing.png └── short.png ├── example ├── graphql │ └── main.go ├── grpc │ ├── client │ │ └── main.go │ ├── proto │ │ ├── hello.pb.go │ │ └── hello.proto │ ├── scripts │ │ └── proto │ └── server │ │ └── main.go └── routing │ └── main.go ├── fw ├── analytics │ ├── analytics.go │ ├── analytics_fake.go │ └── segment.go ├── animation │ └── animation.go ├── assert │ └── assert.go ├── cli │ ├── cobra.go │ ├── flag.go │ ├── tool.go │ └── ui │ │ ├── radio.go │ │ ├── spinner.go │ │ └── symbol.go ├── crypto │ ├── jwt.go │ ├── tokenizer.go │ └── tokenizer_fake.go ├── ctx │ └── execution.go ├── db │ ├── config.go │ ├── connector.go │ ├── dbtest │ │ └── access.go │ └── migrate.go ├── email │ ├── email.go │ ├── fake.go │ └── sendgrid.go ├── event │ ├── dispatcher.go │ ├── emitter.go │ ├── event.go │ ├── eventbus.go │ ├── eventbus_test.go │ ├── listener.go │ └── subscriber.go ├── filesystem │ ├── filesystem.go │ └── local.go ├── geo │ ├── geo.go │ ├── ipstack.go │ └── location.go ├── graphql │ ├── api.go │ ├── client.go │ ├── client_fake.go │ ├── handler.go │ ├── query.go │ ├── resolver.go │ ├── scalar.go │ ├── validator.go │ └── webui.go ├── io │ ├── io.go │ ├── std.go │ └── tap.go ├── logger │ ├── datadog.go │ ├── entryrepo.go │ ├── entryrepo_fake.go │ ├── local.go │ ├── logger.go │ ├── logger_fake.go │ └── logger_test.go ├── metrics │ ├── datadog.go │ ├── metrics.go │ └── metrics_fake.go ├── must │ └── time.go ├── network │ ├── connection.go │ ├── network.go │ └── proxy.go ├── ptr │ ├── string.go │ └── time.go ├── router │ ├── handler.go │ ├── handler_test.go │ ├── params.go │ ├── route.go │ ├── urimatcher.go │ └── urimatcher_test.go ├── rpc │ ├── api.go │ └── client.go ├── runtime │ ├── fake.go │ ├── program.go │ └── runtime.go ├── security │ └── policy.go ├── service │ ├── graphql.go │ ├── grpc.go │ ├── logger.go │ ├── routing.go │ └── service.go ├── template │ ├── html.go │ ├── stub.go │ └── template.go ├── terminal │ └── terminal.go ├── timer │ ├── stub.go │ ├── system.go │ └── timer.go ├── web │ └── server.go └── webreq │ ├── http.go │ └── http_fake.go ├── go.mod ├── go.sum ├── scripts ├── clean-branch ├── code-coverage ├── count ├── format └── test └── tool └── sample.go /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/.dockerignore -------------------------------------------------------------------------------- /.drone.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/.drone.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile-coverage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/Dockerfile-coverage -------------------------------------------------------------------------------- /Dockerfile-test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/Dockerfile-test -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/README.md -------------------------------------------------------------------------------- /doc/cli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/doc/cli.png -------------------------------------------------------------------------------- /doc/example/routing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/doc/example/routing.png -------------------------------------------------------------------------------- /doc/short.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/doc/short.png -------------------------------------------------------------------------------- /example/graphql/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/example/graphql/main.go -------------------------------------------------------------------------------- /example/grpc/client/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/example/grpc/client/main.go -------------------------------------------------------------------------------- /example/grpc/proto/hello.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/example/grpc/proto/hello.pb.go -------------------------------------------------------------------------------- /example/grpc/proto/hello.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/example/grpc/proto/hello.proto -------------------------------------------------------------------------------- /example/grpc/scripts/proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/example/grpc/scripts/proto -------------------------------------------------------------------------------- /example/grpc/server/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/example/grpc/server/main.go -------------------------------------------------------------------------------- /example/routing/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/example/routing/main.go -------------------------------------------------------------------------------- /fw/analytics/analytics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/analytics/analytics.go -------------------------------------------------------------------------------- /fw/analytics/analytics_fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/analytics/analytics_fake.go -------------------------------------------------------------------------------- /fw/analytics/segment.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/analytics/segment.go -------------------------------------------------------------------------------- /fw/animation/animation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/animation/animation.go -------------------------------------------------------------------------------- /fw/assert/assert.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/assert/assert.go -------------------------------------------------------------------------------- /fw/cli/cobra.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/cli/cobra.go -------------------------------------------------------------------------------- /fw/cli/flag.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/cli/flag.go -------------------------------------------------------------------------------- /fw/cli/tool.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/cli/tool.go -------------------------------------------------------------------------------- /fw/cli/ui/radio.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/cli/ui/radio.go -------------------------------------------------------------------------------- /fw/cli/ui/spinner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/cli/ui/spinner.go -------------------------------------------------------------------------------- /fw/cli/ui/symbol.go: -------------------------------------------------------------------------------- 1 | package ui 2 | 3 | const FilledSquare = "■" 4 | -------------------------------------------------------------------------------- /fw/crypto/jwt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/crypto/jwt.go -------------------------------------------------------------------------------- /fw/crypto/tokenizer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/crypto/tokenizer.go -------------------------------------------------------------------------------- /fw/crypto/tokenizer_fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/crypto/tokenizer_fake.go -------------------------------------------------------------------------------- /fw/ctx/execution.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/ctx/execution.go -------------------------------------------------------------------------------- /fw/db/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/db/config.go -------------------------------------------------------------------------------- /fw/db/connector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/db/connector.go -------------------------------------------------------------------------------- /fw/db/dbtest/access.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/db/dbtest/access.go -------------------------------------------------------------------------------- /fw/db/migrate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/db/migrate.go -------------------------------------------------------------------------------- /fw/email/email.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/email/email.go -------------------------------------------------------------------------------- /fw/email/fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/email/fake.go -------------------------------------------------------------------------------- /fw/email/sendgrid.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/email/sendgrid.go -------------------------------------------------------------------------------- /fw/event/dispatcher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/event/dispatcher.go -------------------------------------------------------------------------------- /fw/event/emitter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/event/emitter.go -------------------------------------------------------------------------------- /fw/event/event.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/event/event.go -------------------------------------------------------------------------------- /fw/event/eventbus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/event/eventbus.go -------------------------------------------------------------------------------- /fw/event/eventbus_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/event/eventbus_test.go -------------------------------------------------------------------------------- /fw/event/listener.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/event/listener.go -------------------------------------------------------------------------------- /fw/event/subscriber.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/event/subscriber.go -------------------------------------------------------------------------------- /fw/filesystem/filesystem.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/filesystem/filesystem.go -------------------------------------------------------------------------------- /fw/filesystem/local.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/filesystem/local.go -------------------------------------------------------------------------------- /fw/geo/geo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/geo/geo.go -------------------------------------------------------------------------------- /fw/geo/ipstack.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/geo/ipstack.go -------------------------------------------------------------------------------- /fw/geo/location.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/geo/location.go -------------------------------------------------------------------------------- /fw/graphql/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/api.go -------------------------------------------------------------------------------- /fw/graphql/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/client.go -------------------------------------------------------------------------------- /fw/graphql/client_fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/client_fake.go -------------------------------------------------------------------------------- /fw/graphql/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/handler.go -------------------------------------------------------------------------------- /fw/graphql/query.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/query.go -------------------------------------------------------------------------------- /fw/graphql/resolver.go: -------------------------------------------------------------------------------- 1 | package graphql 2 | 3 | type Resolver interface{} 4 | -------------------------------------------------------------------------------- /fw/graphql/scalar.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/scalar.go -------------------------------------------------------------------------------- /fw/graphql/validator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/validator.go -------------------------------------------------------------------------------- /fw/graphql/webui.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/graphql/webui.go -------------------------------------------------------------------------------- /fw/io/io.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/io/io.go -------------------------------------------------------------------------------- /fw/io/std.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/io/std.go -------------------------------------------------------------------------------- /fw/io/tap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/io/tap.go -------------------------------------------------------------------------------- /fw/logger/datadog.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/logger/datadog.go -------------------------------------------------------------------------------- /fw/logger/entryrepo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/logger/entryrepo.go -------------------------------------------------------------------------------- /fw/logger/entryrepo_fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/logger/entryrepo_fake.go -------------------------------------------------------------------------------- /fw/logger/local.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/logger/local.go -------------------------------------------------------------------------------- /fw/logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/logger/logger.go -------------------------------------------------------------------------------- /fw/logger/logger_fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/logger/logger_fake.go -------------------------------------------------------------------------------- /fw/logger/logger_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/logger/logger_test.go -------------------------------------------------------------------------------- /fw/metrics/datadog.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/metrics/datadog.go -------------------------------------------------------------------------------- /fw/metrics/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/metrics/metrics.go -------------------------------------------------------------------------------- /fw/metrics/metrics_fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/metrics/metrics_fake.go -------------------------------------------------------------------------------- /fw/must/time.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/must/time.go -------------------------------------------------------------------------------- /fw/network/connection.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/network/connection.go -------------------------------------------------------------------------------- /fw/network/network.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/network/network.go -------------------------------------------------------------------------------- /fw/network/proxy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/network/proxy.go -------------------------------------------------------------------------------- /fw/ptr/string.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/ptr/string.go -------------------------------------------------------------------------------- /fw/ptr/time.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/ptr/time.go -------------------------------------------------------------------------------- /fw/router/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/router/handler.go -------------------------------------------------------------------------------- /fw/router/handler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/router/handler_test.go -------------------------------------------------------------------------------- /fw/router/params.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/router/params.go -------------------------------------------------------------------------------- /fw/router/route.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/router/route.go -------------------------------------------------------------------------------- /fw/router/urimatcher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/router/urimatcher.go -------------------------------------------------------------------------------- /fw/router/urimatcher_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/router/urimatcher_test.go -------------------------------------------------------------------------------- /fw/rpc/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/rpc/api.go -------------------------------------------------------------------------------- /fw/rpc/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/rpc/client.go -------------------------------------------------------------------------------- /fw/runtime/fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/runtime/fake.go -------------------------------------------------------------------------------- /fw/runtime/program.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/runtime/program.go -------------------------------------------------------------------------------- /fw/runtime/runtime.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/runtime/runtime.go -------------------------------------------------------------------------------- /fw/security/policy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/security/policy.go -------------------------------------------------------------------------------- /fw/service/graphql.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/service/graphql.go -------------------------------------------------------------------------------- /fw/service/grpc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/service/grpc.go -------------------------------------------------------------------------------- /fw/service/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/service/logger.go -------------------------------------------------------------------------------- /fw/service/routing.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/service/routing.go -------------------------------------------------------------------------------- /fw/service/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/service/service.go -------------------------------------------------------------------------------- /fw/template/html.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/template/html.go -------------------------------------------------------------------------------- /fw/template/stub.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/template/stub.go -------------------------------------------------------------------------------- /fw/template/template.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/template/template.go -------------------------------------------------------------------------------- /fw/terminal/terminal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/terminal/terminal.go -------------------------------------------------------------------------------- /fw/timer/stub.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/timer/stub.go -------------------------------------------------------------------------------- /fw/timer/system.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/timer/system.go -------------------------------------------------------------------------------- /fw/timer/timer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/timer/timer.go -------------------------------------------------------------------------------- /fw/web/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/web/server.go -------------------------------------------------------------------------------- /fw/webreq/http.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/webreq/http.go -------------------------------------------------------------------------------- /fw/webreq/http_fake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/fw/webreq/http_fake.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/go.sum -------------------------------------------------------------------------------- /scripts/clean-branch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/scripts/clean-branch -------------------------------------------------------------------------------- /scripts/code-coverage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/scripts/code-coverage -------------------------------------------------------------------------------- /scripts/count: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/scripts/count -------------------------------------------------------------------------------- /scripts/format: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | goimports -w . 4 | -------------------------------------------------------------------------------- /scripts/test: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | go test -v ./... 4 | -------------------------------------------------------------------------------- /tool/sample.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/short-d/app/HEAD/tool/sample.go --------------------------------------------------------------------------------