diff --git a/quesma/frontend_connectors/elasticsearch_ingest.go b/quesma/frontend_connectors/elasticsearch_ingest.go index 737bf5e4e..e0d6a0f01 100644 --- a/quesma/frontend_connectors/elasticsearch_ingest.go +++ b/quesma/frontend_connectors/elasticsearch_ingest.go @@ -6,22 +6,27 @@ package frontend_connectors import ( "context" "github.com/QuesmaOrg/quesma/quesma/processors/es_to_ch_common" + "github.com/QuesmaOrg/quesma/quesma/quesma/config" "net/http" quesma_api "quesma_v2/core" ) type ElasticsearchIngestFrontendConnector struct { - BasicHTTPFrontendConnector + *BasicHTTPFrontendConnector } -func NewElasticsearchIngestFrontendConnector(endpoint string) *ElasticsearchIngestFrontendConnector { +func NewElasticsearchIngestFrontendConnector(endpoint string, cfg *config.QuesmaConfiguration) *ElasticsearchIngestFrontendConnector { + + basicHttpFrontendConnector := NewBasicHTTPFrontendConnector(endpoint, cfg) + basicHttpFrontendConnector.responseMutator = func(w http.ResponseWriter) http.ResponseWriter { + w.Header().Set("Content-Type", "application/json") + return w + } fc := &ElasticsearchIngestFrontendConnector{ - BasicHTTPFrontendConnector: BasicHTTPFrontendConnector{ - endpoint: endpoint, - responseMutator: setContentType, - }, + BasicHTTPFrontendConnector: basicHttpFrontendConnector, } router := quesma_api.NewPathRouter() + router.Register(es_to_ch_common.IndexBulkPath, quesma_api.IsHTTPMethod("POST", "PUT"), func(ctx context.Context, req *quesma_api.Request, writer http.ResponseWriter) (*quesma_api.Result, error) { return es_to_ch_common.SetPathPattern(req, es_to_ch_common.IndexBulkPath), nil }) @@ -37,8 +42,3 @@ func NewElasticsearchIngestFrontendConnector(endpoint string) *ElasticsearchInge fc.AddRouter(router) return fc } - -func setContentType(w http.ResponseWriter) http.ResponseWriter { - w.Header().Set("Content-Type", "application/json") - return w -} diff --git a/quesma/v2_quesma_builder.go b/quesma/v2_quesma_builder.go index 8c6beb494..b8394017e 100644 --- a/quesma/v2_quesma_builder.go +++ b/quesma/v2_quesma_builder.go @@ -54,8 +54,17 @@ func BuildNewQuesma() quesma_api.QuesmaBuilder { }, ) - ingestFrontendConnector := frontend_connectors.NewElasticsearchIngestFrontendConnector(":8080") - + ingestFrontendConnector := frontend_connectors.NewElasticsearchIngestFrontendConnector( + ":8080", + &config.QuesmaConfiguration{ + DisableAuth: true, + Elasticsearch: config.ElasticsearchConfiguration{ + Url: &config.Url{Host: "localhost:9200", Scheme: "http"}, + User: "", + Password: "", + }, + }, + ) var ingestPipeline quesma_api.PipelineBuilder = quesma_api.NewPipeline() ingestPipeline.AddFrontendConnector(ingestFrontendConnector) @@ -108,7 +117,17 @@ func BuildNewQuesma() quesma_api.QuesmaBuilder { func buildIngestOnlyQuesma() quesma_api.QuesmaBuilder { var quesmaBuilder quesma_api.QuesmaBuilder = quesma_api.NewQuesma(quesma_api.EmptyDependencies()) - ingestFrontendConnector := frontend_connectors.NewElasticsearchIngestFrontendConnector(":8080") + ingestFrontendConnector := frontend_connectors.NewElasticsearchIngestFrontendConnector( + ":8080", + &config.QuesmaConfiguration{ + DisableAuth: true, + Elasticsearch: config.ElasticsearchConfiguration{ + Url: &config.Url{Host: "localhost:9200", Scheme: "http"}, + User: "", + Password: "", + }, + }, + ) var ingestPipeline quesma_api.PipelineBuilder = quesma_api.NewPipeline() ingestPipeline.AddFrontendConnector(ingestFrontendConnector)