@@ -4,10 +4,14 @@ import (
44 "context"
55 "fmt"
66 "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"
78 "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"
811 "github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/queue"
912 "github.com/rog-golang-buddies/api-hub_data-scraping-service/internal/queue/handler"
1013 "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"
1115)
1216
1317func Start () int {
@@ -24,6 +28,12 @@ func Start() int {
2428 fmt .Println ("error creating logger: " , err )
2529 return 1
2630 }
31+
32+ proc , err := createDefaultProcessor ()
33+ if err != nil {
34+ log .Error ("error while creating processor: " , err )
35+ return 1
36+ }
2737 //initialize publisher connection to the queue
2838 //this library assumes using one publisher and one consumer per application
2939 //https://github.com/wagslane/go-rabbitmq/issues/79
@@ -41,9 +51,9 @@ func Start() int {
4151 }
4252 defer queue .CloseConsumer (consumer , log )
4353
44- handl := handler .NewApiSpecDocHandler (pub , conf .Queue , log )
54+ handl := handler .NewApiSpecDocHandler (pub , conf .Queue , proc , log )
4555 listener := queue .NewListener ()
46- err = listener .Start (consumer , & conf .Queue , handl )
56+ err = listener .Start (ctx , consumer , & conf .Queue , handl )
4757 if err != nil {
4858 log .Error ("error while listening queue " , err )
4959 return 1
@@ -54,3 +64,12 @@ func Start() int {
5464 log .Info ("application stopped gracefully (not)" )
5565 return 0
5666}
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