Documentation
¶
Overview ¶
Package handler provides the functionality of HTTP/2 gRPC gateway. It receives request and returns response.
Index ¶
- type HealthChecker
- type URLShortener
- func (us *URLShortener) CreateShortURL(ctx context.Context, request *shortenerv1.CreateShortURLRequest) (*shortenerv1.CreateShortURLResponse, error)
- func (us *URLShortener) GetAllURL(ctx context.Context, request *shortenerv1.GetAllURLRequest) (*shortenerv1.GetAllURLResponse, error)
- func (us *URLShortener) GetURLDetail(ctx context.Context, request *shortenerv1.GetURLDetailRequest) (*shortenerv1.GetURLDetailResponse, error)
- func (us *URLShortener) StreamAllURL(request *shortenerv1.StreamAllURLRequest, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HealthChecker ¶
type HealthChecker struct { grpchealthv1.UnimplementedHealthServer // contains filtered or unexported fields }
HealthChecker handles HTTP/2 gRPC request for health checking.
func NewHealthChecker ¶
func NewHealthChecker(checker usecase.CheckHealth) *HealthChecker
NewHealthChecker creates an instance of HealthChecker.
func (*HealthChecker) Check ¶
func (hc *HealthChecker) Check(ctx context.Context, request *grpchealthv1.HealthCheckRequest) (*grpchealthv1.HealthCheckResponse, error)
Check checks the entire system health, including its dependecies.
type URLShortener ¶
type URLShortener struct { shortenerv1.UnimplementedURLShortenerServiceServer // contains filtered or unexported fields }
URLShortener handles HTTP/2 gRPC request for URL shortener.
func NewURLShortener ¶
func NewURLShortener(creator usecase.CreateShortURL, getter usecase.GetURL) *URLShortener
NewURLShortener creates an instance of URLShortener.
func (*URLShortener) CreateShortURL ¶
func (us *URLShortener) CreateShortURL(ctx context.Context, request *shortenerv1.CreateShortURLRequest) (*shortenerv1.CreateShortURLResponse, error)
CreateShortURL handles HTTP/2 gRPC request similar to POST in HTTP/1.1.
func (*URLShortener) GetAllURL ¶
func (us *URLShortener) GetAllURL(ctx context.Context, request *shortenerv1.GetAllURLRequest) (*shortenerv1.GetAllURLResponse, error)
GetAllURL handles HTTP/2 gRPC request similar to GET in HTTP/1.1. Its specific job is to get all available URLs in the system.
func (*URLShortener) GetURLDetail ¶
func (us *URLShortener) GetURLDetail(ctx context.Context, request *shortenerv1.GetURLDetailRequest) (*shortenerv1.GetURLDetailResponse, error)
GetURLDetail handles HTTP/2 gRPC request similar to GET in HTTP/1.1. Its specific job is to get a detail of a single short URL.
func (*URLShortener) StreamAllURL ¶
func (us *URLShortener) StreamAllURL(request *shortenerv1.StreamAllURLRequest, stream shortenerv1.URLShortenerService_StreamAllURLServer) error
StreamAllURL handles HTTP/2 gRPC request similar to GET in HTTP/1.1. Its specific job is to get all available URLs in the system using stream.