Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions platform/conduit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,7 @@ Every error is wrapped with the method name.

- **Per-method wrappers.** Each caller keeps its own typed request and result for the methods it calls, and decides what a missing object means for it. A method only one caller uses never lands in this package.
- **Retries, logging and metrics.** Retry decisions belong to the consumer's error classifiers, and callers already log and record metrics in their own scope.

## Who uses it

- `submitqueue/extension/changeprovider/phabricator` reads diffs with `differential.querydiffs`; the orchestrator's wiring builds its client from the configured endpoint and token.
1 change: 1 addition & 0 deletions service/submitqueue/orchestrator/server/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ go_library(
"//api/base/hook:go_default_library",
"//api/submitqueue/orchestrator/protopb:go_default_library",
"//platform/buildkite:go_default_library",
"//platform/conduit:go_default_library",
"//platform/errs:go_default_library",
"//platform/errs/generic:go_default_library",
"//platform/errs/git:go_default_library",
Expand Down
22 changes: 3 additions & 19 deletions service/submitqueue/orchestrator/server/profiles.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import (
"context"

platformbuildkite "github.com/uber/submitqueue/platform/buildkite"
"github.com/uber/submitqueue/platform/conduit"
"github.com/uber/submitqueue/platform/extension/gitworkspace"
gitworkspacelocal "github.com/uber/submitqueue/platform/extension/gitworkspace/local"
gitrepo "github.com/uber/submitqueue/platform/git/repo"
Expand Down Expand Up @@ -596,15 +597,13 @@ func (b *profileBuilder) newPhabChangeProvider(cfg phabProviderConfig, where str
return nil, fmt.Errorf("%s: failed to build Phabricator HTTP client: %w", where, err)
}
client.Timeout = timeoutOr(cfg.Timeout, defaultHTTPTimeout)

baseTransport := client.Transport.(*http.BaseURLTransport)
baseTransport.Next = &apiTokenTransport{token: token, next: baseTransport.Next}
conduitClient := conduit.NewClient(client, token)

scope := b.scope.SubScope("changeprovider.phabricator")
return func(c changeprovider.Config) changeprovider.ChangeProvider {
return phabprovider.NewProvider(phabprovider.Params{
Config: c,
HTTPClient: client,
Conduit: conduitClient,
Logger: b.logger.Sugar(),
MetricsScope: scope,
})
Expand Down Expand Up @@ -813,18 +812,3 @@ func (b *profileBuilder) githubClient(baseURL, timeout, token, where string) (*n
}
return client, nil
}

// apiTokenTransport injects a Phabricator API token as a query parameter in
// each request.
type apiTokenTransport struct {
token string
next nethttp.RoundTripper
}

func (t *apiTokenTransport) RoundTrip(req *nethttp.Request) (*nethttp.Response, error) {
r := req.Clone(req.Context())
q := r.URL.Query()
q.Set("api.token", t.token)
r.URL.RawQuery = q.Encode()
return t.next.RoundTrip(r)
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ load("@rules_go//go:def.bzl", "go_library", "go_test")
go_library(
name = "go_default_library",
srcs = [
"conduit.go",
"convert.go",
"provider.go",
"querydiffs.go",
],
importpath = "github.com/uber/submitqueue/submitqueue/extension/changeprovider/phabricator",
visibility = ["//visibility:public"],
deps = [
"//platform/base/change/phabricator:go_default_library",
"//platform/http:go_default_library",
"//platform/conduit:go_default_library",
"//platform/metrics:go_default_library",
"//submitqueue/entity:go_default_library",
"//submitqueue/extension/changeprovider:go_default_library",
Expand All @@ -23,14 +23,15 @@ go_library(
go_test(
name = "go_default_test",
srcs = [
"conduit_test.go",
"convert_test.go",
"provider_test.go",
"querydiffs_test.go",
],
embed = [":go_default_library"],
deps = [
"//platform/base/change:go_default_library",
"//platform/base/change/phabricator:go_default_library",
"//platform/conduit:go_default_library",
"//platform/errs:go_default_library",
"//platform/errs/http:go_default_library",
"//platform/http:go_default_library",
Expand Down
103 changes: 0 additions & 103 deletions submitqueue/extension/changeprovider/phabricator/conduit.go

This file was deleted.

Loading