Skip to content

Commit 2ae171d

Browse files
committed
chore(deps): Bumping deps and updating naming
Signed-off-by: Vincent Boutour <bob@vibioh.fr>
1 parent 730ef48 commit 2ae171d

9 files changed

Lines changed: 141 additions & 152 deletions

File tree

cmd/exas/api.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,53 +57,53 @@ func main() {
5757

5858
ctx := context.Background()
5959

60-
telemetryApp, err := telemetry.New(ctx, telemetryConfig)
60+
telemetryService, err := telemetry.New(ctx, telemetryConfig)
6161
if err != nil {
6262
slog.Error("create telemetry", "err", err)
6363
os.Exit(1)
6464
}
6565

66-
defer telemetryApp.Close(ctx)
67-
request.AddOpenTelemetryToDefaultClient(telemetryApp.MeterProvider(), telemetryApp.TracerProvider())
66+
defer telemetryService.Close(ctx)
67+
request.AddOpenTelemetryToDefaultClient(telemetryService.MeterProvider(), telemetryService.TracerProvider())
6868

6969
go func() {
7070
fmt.Println(http.ListenAndServe("localhost:9999", http.DefaultServeMux))
7171
}()
7272

7373
appServer := server.New(appServerConfig)
74-
healthApp := health.New(healthConfig)
74+
healthService := health.New(healthConfig)
7575

76-
storageProvider, err := absto.New(abstoConfig, telemetryApp.TracerProvider())
76+
storageProvider, err := absto.New(abstoConfig, telemetryService.TracerProvider())
7777
if err != nil {
7878
slog.Error("create absto", "err", err)
7979
os.Exit(1)
8080
}
8181

82-
geocodeApp := geocode.New(geocodeConfig, telemetryApp.MeterProvider(), telemetryApp.TracerProvider())
83-
defer geocodeApp.Close()
82+
geocodeService := geocode.New(geocodeConfig, telemetryService.MeterProvider(), telemetryService.TracerProvider())
83+
defer geocodeService.Close()
8484

85-
amqpClient, err := amqp.New(amqpConfig, telemetryApp.MeterProvider(), telemetryApp.TracerProvider())
85+
amqpClient, err := amqp.New(amqpConfig, telemetryService.MeterProvider(), telemetryService.TracerProvider())
8686
if err != nil && !errors.Is(err, amqp.ErrNoConfig) {
8787
slog.Error("create amqp", "err", err)
8888
os.Exit(1)
8989
} else if amqpClient != nil {
9090
defer amqpClient.Close()
9191
}
9292

93-
exasApp := exas.New(exasConfig, geocodeApp, amqpClient, storageProvider, telemetryApp.MeterProvider(), telemetryApp.TracerProvider())
93+
exasService := exas.New(exasConfig, geocodeService, amqpClient, storageProvider, telemetryService.MeterProvider(), telemetryService.TracerProvider())
9494

95-
amqphandlerApp, err := amqphandler.New(amqphandlerConfig, amqpClient, telemetryApp.MeterProvider(), telemetryApp.TracerProvider(), exasApp.AmqpHandler)
95+
amqphandlerService, err := amqphandler.New(amqphandlerConfig, amqpClient, telemetryService.MeterProvider(), telemetryService.TracerProvider(), exasService.AmqpHandler)
9696
if err != nil {
9797
slog.Error("create amqp handler", "err", err)
9898
os.Exit(1)
9999
}
100100

101-
go amqphandlerApp.Start(healthApp.Done(ctx))
101+
go amqphandlerService.Start(healthService.Done(ctx))
102102

103-
endCtx := healthApp.End(ctx)
103+
endCtx := healthService.End(ctx)
104104

105-
go appServer.Start(endCtx, "http", httputils.Handler(exasApp.Handler(), healthApp, recoverer.Middleware, telemetryApp.Middleware("http")))
105+
go appServer.Start(endCtx, "http", httputils.Handler(exasService.Handler(), healthService, recoverer.Middleware, telemetryService.Middleware("http")))
106106

107-
healthApp.WaitForTermination(appServer.Done())
108-
server.GracefulWait(appServer.Done(), amqphandlerApp.Done())
107+
healthService.WaitForTermination(appServer.Done())
108+
server.GracefulWait(appServer.Done(), amqphandlerService.Done())
109109
}

go.mod

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ module github.com/ViBiOh/exas
33
go 1.21
44

55
require (
6-
github.com/ViBiOh/absto v1.7.0
7-
github.com/ViBiOh/flags v1.3.1
8-
github.com/ViBiOh/httputils/v4 v4.63.4
6+
github.com/ViBiOh/absto v1.7.2
7+
github.com/ViBiOh/flags v1.4.1
8+
github.com/ViBiOh/httputils/v4 v4.64.1
99
github.com/rabbitmq/amqp091-go v1.8.1
10-
go.opentelemetry.io/otel v1.16.0
11-
go.opentelemetry.io/otel/metric v1.16.0
12-
go.opentelemetry.io/otel/trace v1.16.0
10+
go.opentelemetry.io/otel v1.17.0
11+
go.opentelemetry.io/otel/metric v1.17.0
12+
go.opentelemetry.io/otel/trace v1.17.0
1313
)
1414

1515
require (
@@ -19,8 +19,8 @@ require (
1919
github.com/go-logr/logr v1.2.4 // indirect
2020
github.com/go-logr/stdr v1.2.2 // indirect
2121
github.com/golang/protobuf v1.5.3 // indirect
22-
github.com/google/uuid v1.3.0 // indirect
23-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.2 // indirect
22+
github.com/google/uuid v1.3.1 // indirect
23+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.17.0 // indirect
2424
github.com/json-iterator/go v1.1.12 // indirect
2525
github.com/klauspost/compress v1.16.7 // indirect
2626
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
@@ -47,8 +47,8 @@ require (
4747
golang.org/x/sys v0.11.0 // indirect
4848
golang.org/x/term v0.11.0 // indirect
4949
golang.org/x/text v0.12.0 // indirect
50-
google.golang.org/genproto/googleapis/api v0.0.0-20230807174057-1744710a1577 // indirect
51-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect
50+
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
51+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
5252
google.golang.org/grpc v1.57.0 // indirect
5353
google.golang.org/protobuf v1.31.0 // indirect
5454
gopkg.in/ini.v1 v1.67.0 // indirect

go.sum

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
github.com/ViBiOh/absto v1.7.0 h1:u60N+cgUe9PWDdeX6ixqX3jQISqeip1Q+ZhzFqaGrWU=
2-
github.com/ViBiOh/absto v1.7.0/go.mod h1:0F1g0DknHQZvDP+bEF4B9qBhaln/8PcW5YZ1QYdimRM=
3-
github.com/ViBiOh/flags v1.3.1 h1:OHkGtVBPb6CpgWUST1VS9heKvHWBgwpyM8fXnuJRRVU=
4-
github.com/ViBiOh/flags v1.3.1/go.mod h1:yQAIBf4HTymJDCF0Bl8QQHvQTr5uiUMQBa/A/ao1oM4=
5-
github.com/ViBiOh/httputils/v4 v4.63.4 h1:FJ+hpWFgmhcdYCvAHLdc54pPQbhgKq7asZaGfPPlHSw=
6-
github.com/ViBiOh/httputils/v4 v4.63.4/go.mod h1:Kx0R7H2NGQ7wUDGnSg5idi2D3TDDIJB6GiTOMERO1C8=
1+
github.com/ViBiOh/absto v1.7.2 h1:TectPiswC68mVXIWEOyZv5AQ3Fo0ahZrCDh5B6xO9ys=
2+
github.com/ViBiOh/absto v1.7.2/go.mod h1:3lyoRt8V5odr6X2kuA5eFtvfLFat61I0EAedk9rxYsM=
3+
github.com/ViBiOh/flags v1.4.1 h1:qEAO70rWTYcVlU9BgCuz0SgMjth12oi502cq3SHDudg=
4+
github.com/ViBiOh/flags v1.4.1/go.mod h1:Ocgx/QhY7WYNfGokFT3kw5C05pDooQyLbI/9ZWwylI4=
5+
github.com/ViBiOh/httputils/v4 v4.64.1 h1:Qc84vfQX9aUedjfjBzrRB+BwABOYZbDvKLQ6pYKKKd4=
6+
github.com/ViBiOh/httputils/v4 v4.64.1/go.mod h1:wQcLPM1DA7d8w/ojU1jIZzXwMYBlDJuSw0DrcS33vNc=
77
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
88
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
99
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
@@ -31,10 +31,10 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
3131
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
3232
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
3333
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
34-
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
35-
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
36-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.2 h1:dygLcbEBA+t/P7ck6a8AkXv6juQ4cK0RHBoh32jxhHM=
37-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.2/go.mod h1:Ap9RLCIJVtgQg1/BBgVEfypOAySvvlcpcVQkSzJCH4Y=
34+
github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
35+
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
36+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.17.0 h1:Rme6CE1aUTyV9WmrEPyGf1V+7W3iQzZ1DZkKnT6z9B0=
37+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.17.0/go.mod h1:Hbb13e3/WtqQ8U5hLGkek9gJvBLasHuPFI0UEGfnQ10=
3838
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
3939
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
4040
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
@@ -88,8 +88,8 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 h1:pginetY
8888
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0/go.mod h1:XiYsayHc36K3EByOO6nbAXnAWbrUxdjUROCEeeROOH8=
8989
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 h1:EbmAUG9hEAMXyfWEasIt2kmh/WmXUznUksChApTgBGc=
9090
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0/go.mod h1:rD9feqRYP24P14t5kmhNMqsqm1jvKmpx2H2rKVw52V8=
91-
go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s=
92-
go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4=
91+
go.opentelemetry.io/otel v1.17.0 h1:MW+phZ6WZ5/uk2nd93ANk/6yJ+dVrvNWUjGhnnFU5jM=
92+
go.opentelemetry.io/otel v1.17.0/go.mod h1:I2vmBGtFaODIVMBSTPVDlJSzBDNf93k60E6Ft0nyjo0=
9393
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0=
9494
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0/go.mod h1:vLarbg68dH2Wa77g71zmKQqlQ8+8Rq3GRG31uc0WcWI=
9595
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.39.0 h1:f6BwB2OACc3FCbYVznctQ9V6KK7Vq6CjmYXJ7DeSs4E=
@@ -100,14 +100,14 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo
100100
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0/go.mod h1:JgXSGah17croqhJfhByOLVY719k1emAXC8MVhCIJlRs=
101101
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 h1:TVQp/bboR4mhZSav+MdgXB8FaRho1RC8UwVn3T0vjVc=
102102
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0/go.mod h1:I33vtIe0sR96wfrUcilIzLoA3mLHhRmz9S9Te0S3gDo=
103-
go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo=
104-
go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4=
103+
go.opentelemetry.io/otel/metric v1.17.0 h1:iG6LGVz5Gh+IuO0jmgvpTB6YVrCGngi8QGm+pMd8Pdc=
104+
go.opentelemetry.io/otel/metric v1.17.0/go.mod h1:h4skoxdZI17AxwITdmdZjjYJQH5nzijUUjm+wtPph5o=
105105
go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
106106
go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
107107
go.opentelemetry.io/otel/sdk/metric v0.39.0 h1:Kun8i1eYf48kHH83RucG93ffz0zGV1sh46FAScOTuDI=
108108
go.opentelemetry.io/otel/sdk/metric v0.39.0/go.mod h1:piDIRgjcK7u0HCL5pCA4e74qpK/jk3NiUoAHATVAmiI=
109-
go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs=
110-
go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0=
109+
go.opentelemetry.io/otel/trace v1.17.0 h1:/SWhSRHmDPOImIAetP1QAeMnZYiQXrTy4fMMYOdSKWQ=
110+
go.opentelemetry.io/otel/trace v1.17.0/go.mod h1:I/4vKTgFclIsXRVucpH25X0mpFSczM7aHeaz0ZBLWjY=
111111
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
112112
go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
113113
go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
@@ -129,10 +129,10 @@ golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
129129
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
130130
google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g=
131131
google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8=
132-
google.golang.org/genproto/googleapis/api v0.0.0-20230807174057-1744710a1577 h1:xv8KoglAClYGkprUSmDTKaILtzfD8XzG9NYVXMprjKo=
133-
google.golang.org/genproto/googleapis/api v0.0.0-20230807174057-1744710a1577/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
134-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk=
135-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
132+
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q=
133+
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
134+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
135+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
136136
google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw=
137137
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
138138
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=

pkg/exas/amqp.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,35 +26,34 @@ var (
2626
errPublish = errors.New("publish error")
2727
)
2828

29-
// AmqpHandler for amqp request
30-
func (a App) AmqpHandler(ctx context.Context, message amqp.Delivery) (err error) {
31-
defer a.handleMetric(ctx, "amqp", "exif", err)
29+
func (s Service) AmqpHandler(ctx context.Context, message amqp.Delivery) (err error) {
30+
defer s.handleMetric(ctx, "amqp", "exif", err)
3231

33-
if !a.storageApp.Enabled() {
32+
if !s.storage.Enabled() {
3433
return errNoAccess
3534
}
3635

37-
ctx, end := telemetry.StartSpan(ctx, a.tracer, "amqp")
36+
ctx, end := telemetry.StartSpan(ctx, s.tracer, "amqp")
3837
defer end(&err)
3938

4039
var item absto.Item
4140
if err = json.Unmarshal(message.Body, &item); err != nil {
4241
return fmt.Errorf("decode: %s: %w", err, errUnmarshal)
4342
}
4443

45-
reader, err := a.storageApp.ReadFrom(ctx, item.Pathname)
44+
reader, err := s.storage.ReadFrom(ctx, item.Pathname)
4645
if err != nil {
4746
return fmt.Errorf("read from storage: %w", err)
4847
}
4948
defer closeWithLog(reader, "AmqpHandler", item.Pathname)
5049

5150
var exif model.Exif
52-
exif, err = a.get(ctx, reader)
51+
exif, err = s.get(ctx, reader)
5352
if err != nil {
5453
return fmt.Errorf("get exif: %s: %w", err, errExtract)
5554
}
5655

57-
if err = a.amqpClient.PublishJSON(ctx, amqpResponse{Item: item, Exif: exif}, a.amqpExchange, a.amqpRoutingKey); err != nil {
56+
if err = s.amqpClient.PublishJSON(ctx, amqpResponse{Item: item, Exif: exif}, s.amqpExchange, s.amqpRoutingKey); err != nil {
5857
return fmt.Errorf("publish amqp message: %s: %w", err, errPublish)
5958
}
6059

pkg/exas/exas.go

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -29,75 +29,72 @@ var bufferPool = sync.Pool{
2929
},
3030
}
3131

32-
// App of package
33-
type App struct {
34-
storageApp absto.Storage
32+
type Service struct {
33+
storage absto.Storage
3534
tracer trace.Tracer
3635
amqpClient *amqp.Client
3736
metric metric.Int64Counter
3837
amqpExchange string
3938
amqpRoutingKey string
40-
geocodeApp geocode.App
39+
geocode geocode.Service
4140
}
4241

43-
// Config of package
4442
type Config struct {
45-
amqpExchange *string
46-
amqpRoutingKey *string
43+
AmqpExchange string
44+
AmqpRoutingKey string
4745
}
4846

49-
// Flags adds flags for configuring package
50-
func Flags(fs *flag.FlagSet, prefix string, overrides ...flags.Override) Config {
51-
return Config{
52-
amqpExchange: flags.New("Exchange", "AMQP Exchange Name").Prefix(prefix).DocPrefix("exas").String(fs, "fibr", overrides),
53-
amqpRoutingKey: flags.New("RoutingKey", "AMQP Routing Key to fibr").Prefix(prefix).DocPrefix("exas").String(fs, "exif_output", overrides),
54-
}
47+
func Flags(fs *flag.FlagSet, prefix string, overrides ...flags.Override) *Config {
48+
var config Config
49+
50+
flags.New("Exchange", "AMQP Exchange Name").Prefix(prefix).DocPrefix("exas").StringVar(fs, &config.AmqpExchange, "fibr", overrides)
51+
flags.New("RoutingKey", "AMQP Routing Key to fibr").Prefix(prefix).DocPrefix("exas").StringVar(fs, &config.AmqpRoutingKey, "exif_output", overrides)
52+
53+
return &config
5554
}
5655

57-
// New creates new App from Config
58-
func New(config Config, geocodeApp geocode.App, amqpClient *amqp.Client, storageApp absto.Storage, meterProvider metric.MeterProvider, tracerProvider trace.TracerProvider) App {
59-
app := App{
60-
geocodeApp: geocodeApp,
61-
storageApp: storageApp,
56+
func New(config *Config, geocodeService geocode.Service, amqpClient *amqp.Client, storageService absto.Storage, meterProvider metric.MeterProvider, tracerProvider trace.TracerProvider) Service {
57+
service := Service{
58+
geocode: geocodeService,
59+
storage: storageService,
6260
amqpClient: amqpClient,
63-
amqpExchange: strings.TrimSpace(*config.amqpExchange),
64-
amqpRoutingKey: strings.TrimSpace(*config.amqpRoutingKey),
61+
amqpExchange: config.AmqpExchange,
62+
amqpRoutingKey: config.AmqpRoutingKey,
6563
}
6664

6765
if meterProvider != nil {
6866
meter := meterProvider.Meter("github.com/ViBiOh/exas/pkg/exas")
6967

7068
var err error
7169

72-
app.metric, err = meter.Int64Counter("exas.item")
70+
service.metric, err = meter.Int64Counter("exas.item")
7371
if err != nil {
7472
slog.Error("create counter", "err", err)
7573
}
7674
}
7775

7876
if tracerProvider != nil {
79-
app.tracer = tracerProvider.Tracer("exas")
77+
service.tracer = tracerProvider.Tracer("exas")
8078
}
8179

82-
return app
80+
return service
8381
}
8482

85-
// Handler for request. Should be use with net/http
86-
func (a App) Handler() http.Handler {
83+
func (s Service) Handler() http.Handler {
8784
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
8885
switch r.Method {
8986
case http.MethodPost:
90-
a.handlePost(w, r)
87+
s.handlePost(w, r)
9188
case http.MethodGet:
92-
a.handleGet(w, r)
89+
s.handleGet(w, r)
9390
default:
9491
w.WriteHeader(http.StatusMethodNotAllowed)
9592
}
9693
})
9794
}
9895

99-
func (a App) get(ctx context.Context, input io.Reader) (exif model.Exif, err error) {
100-
ctx, end := telemetry.StartSpan(ctx, a.tracer, "exiftool")
96+
func (s Service) get(ctx context.Context, input io.Reader) (exif model.Exif, err error) {
97+
ctx, end := telemetry.StartSpan(ctx, s.tracer, "exiftool")
10198
defer end(&err)
10299

103100
cmd := exec.Command("./exiftool", "-json", "-")
@@ -133,7 +130,7 @@ func (a App) get(ctx context.Context, input io.Reader) (exif model.Exif, err err
133130
exif.Data = exifData
134131
exif.Date = getDate(exif)
135132

136-
exif.Geocode, err = a.geocodeApp.GetGeocoding(ctx, exif)
133+
exif.Geocode, err = s.geocode.GetGeocoding(ctx, exif)
137134
if err != nil {
138135
return exif, fmt.Errorf("append geocoding: %w", err)
139136
}

pkg/exas/get.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@ import (
88
"github.com/ViBiOh/httputils/v4/pkg/httpjson"
99
)
1010

11-
func (a App) handleGet(w http.ResponseWriter, r *http.Request) {
12-
if !a.storageApp.Enabled() {
11+
func (s Service) handleGet(w http.ResponseWriter, r *http.Request) {
12+
if !s.storage.Enabled() {
1313
w.WriteHeader(http.StatusMethodNotAllowed)
1414
return
1515
}
1616

17-
reader, err := a.storageApp.ReadFrom(r.Context(), r.URL.Path)
17+
reader, err := s.storage.ReadFrom(r.Context(), r.URL.Path)
1818
if err != nil {
1919
httperror.InternalServerError(w, fmt.Errorf("read from storage: %w", err))
2020
return
2121
}
2222
defer closeWithLog(reader, "AmqpHandler", r.URL.Path)
2323

24-
exif, err := a.get(r.Context(), reader)
24+
exif, err := s.get(r.Context(), reader)
2525
if err != nil {
2626
httperror.InternalServerError(w, err)
27-
a.increaseMetric(r.Context(), "http", "exif", "error")
27+
s.increaseMetric(r.Context(), "http", "exif", "error")
2828
return
2929
}
3030

3131
httpjson.Write(w, http.StatusOK, exif)
32-
a.increaseMetric(r.Context(), "http", "exif", "success")
32+
s.increaseMetric(r.Context(), "http", "exif", "success")
3333
}

0 commit comments

Comments
 (0)