- Add bootstrap package to initialize application components including logger, tracer, and HTTP server. - Create config package to load runtime settings from environment variables. - Implement observability features including logging, metrics, and tracing. - Add health check and hello use cases with corresponding HTTP handlers. - Introduce middleware for request ID, access logging, metrics, and recovery. - Set up HTTP router with defined routes for health and hello endpoints. - Include tests for health and hello endpoints to ensure proper functionality. - Add OpenTelemetry collector configuration for trace exporting.
19 lines
292 B
Go
19 lines
292 B
Go
package hello
|
|
|
|
import "context"
|
|
|
|
// Usecase defines hello business behavior.
|
|
type Usecase interface {
|
|
Message(ctx context.Context) string
|
|
}
|
|
|
|
type Service struct{}
|
|
|
|
func NewService() *Service {
|
|
return &Service{}
|
|
}
|
|
|
|
func (s *Service) Message(context.Context) string {
|
|
return "hello world"
|
|
}
|