diff --git a/internal/drivers/models.go b/internal/drivers/models.go index 72579ea..a175cca 100644 --- a/internal/drivers/models.go +++ b/internal/drivers/models.go @@ -9,7 +9,9 @@ type SingleQuery struct { type Name string const ( - PgxConn = Name("pgx-conn") - GoServerless = Name("go-serverless") - VercelEdge = Name("vercel-edge") + PgxConn = Name("pgx-conn") + GoServerless = Name("go-serverless") + VercelEdge = Name("vercel-edge") + VercelEdgeHTTP07 = Name("vercel-edge=http07") + VercelEdgeHTTP08 = Name("vercel-edge=http08") ) diff --git a/internal/drivers/vercel_sl.go b/internal/drivers/vercel_sl.go index 3bbd6d7..0f2813c 100644 --- a/internal/drivers/vercel_sl.go +++ b/internal/drivers/vercel_sl.go @@ -15,6 +15,8 @@ import ( ) const defaultAPIURL = "https://sl-driver.vercel.app/api/query" +const defaultAPIURLHTTP07 = "https://sl-driver.vercel.app/api/v07/http_query" +const defaultAPIURLHTTP08 = "https://sl-driver.vercel.app/api/v08/http_query" type slRequest struct { ConnStr string `json:"connstr"` @@ -58,6 +60,22 @@ func NewVercelSL(connstr string, saver QuerySaver) *VercelSL { } } +func NewVercelSLHTTP07(connstr string, saver QuerySaver) *VercelSL { + return &VercelSL{ + connstr: connstr, + apiURL: defaultAPIURLHTTP07, + saver: saver, + } +} + +func NewVercelSLHTTP08(connstr string, saver QuerySaver) *VercelSL { + return &VercelSL{ + connstr: connstr, + apiURL: defaultAPIURLHTTP08, + saver: saver, + } +} + func (s *VercelSL) Query(ctx context.Context, singleQuery SingleQuery) (*models.Query, error) { res, err := s.Queries(ctx, singleQuery) var q *models.Query diff --git a/internal/rules/query_project.go b/internal/rules/query_project.go index 9c2a2c1..6409144 100644 --- a/internal/rules/query_project.go +++ b/internal/rules/query_project.go @@ -54,6 +54,8 @@ var defaultDrivers = rdesc.Wrand[drivers.Name]{ {Weight: 1, Item: drivers.PgxConn}, {Weight: 1, Item: drivers.GoServerless}, {Weight: 1, Item: drivers.VercelEdge}, + {Weight: 1, Item: drivers.VercelEdgeHTTP07}, + {Weight: 1, Item: drivers.VercelEdgeHTTP08}, } func NewQueryProject(a *app.App, j json.RawMessage) (*QueryProject, error) { @@ -225,6 +227,12 @@ func (r *QueryProject) randomDriver(ctx context.Context, project models.Project, case drivers.VercelEdge: log.Info(ctx, "using vercel-sl driver") return drivers.NewVercelSL(connstr, saver), nil + case drivers.VercelEdgeHTTP07: + log.Info(ctx, "using vercel-sl driver") + return drivers.NewVercelSLHTTP07(connstr, saver), nil + case drivers.VercelEdgeHTTP08: + log.Info(ctx, "using vercel-sl driver") + return drivers.NewVercelSLHTTP08(connstr, saver), nil } return nil, fmt.Errorf("unknown driver: %s", driverName)