@@ -4,10 +4,14 @@ import (
4
4
"context"
5
5
"fmt"
6
6
"github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/config"
7
+ "github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/load"
7
8
"github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/logger"
9
+ "github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/parse"
10
+ "github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/process"
8
11
"github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/queue"
9
12
"github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/queue/handler"
10
13
"github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/queue/publisher"
14
+ "github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/recognize"
11
15
)
12
16
13
17
func Start () int {
@@ -24,6 +28,12 @@ func Start() int {
24
28
fmt .Println ("error creating logger: " , err )
25
29
return 1
26
30
}
31
+
32
+ proc , err := createDefaultProcessor ()
33
+ if err != nil {
34
+ log .Error ("error while creating processor: " , err )
35
+ return 1
36
+ }
27
37
//initialize publisher connection to the queue
28
38
//this library assumes using one publisher and one consumer per application
29
39
//https://github.com/wagslane/go-rabbitmq/issues/79
@@ -41,9 +51,9 @@ func Start() int {
41
51
}
42
52
defer queue .CloseConsumer (consumer , log )
43
53
44
- handl := handler .NewApiSpecDocHandler (pub , conf .Queue , log )
54
+ handl := handler .NewApiSpecDocHandler (pub , conf .Queue , proc , log )
45
55
listener := queue .NewListener ()
46
- err = listener .Start (consumer , & conf .Queue , handl )
56
+ err = listener .Start (ctx , consumer , & conf .Queue , handl )
47
57
if err != nil {
48
58
log .Error ("error while listening queue " , err )
49
59
return 1
@@ -54,3 +64,12 @@ func Start() int {
54
64
log .Info ("application stopped gracefully (not)" )
55
65
return 0
56
66
}
67
+
68
+ func createDefaultProcessor () (process.UrlProcessor , error ) {
69
+ recognizer := recognize .NewRecognizer ()
70
+ parsers := []parse.Parser {parse .NewJsonOpenApiParser (), parse .NewYamlOpenApiParser ()}
71
+ converter := parse .NewConverter (parsers )
72
+ loader := load .NewContentLoader ()
73
+
74
+ return process .NewProcessor (recognizer , converter , loader )
75
+ }
0 commit comments