aboutsummaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2020-06-12 14:55:57 +0100
committerGitHub <noreply@github.com>2020-06-12 14:55:57 +0100
commitecd7accbad724f26248498a9035a1fbc69e2f08d (patch)
treede2c795b209c4527bc907570dfd1308cfa19be6f /internal
parent4675e1ddb6a48fe1425032dc4f3cef56cbde7243 (diff)
Rehuffle where things are in the internal package (#1122)
renamed: internal/eventcontent.go -> internal/eventutil/eventcontent.go renamed: internal/events.go -> internal/eventutil/events.go renamed: internal/types.go -> internal/eventutil/types.go renamed: internal/http/http.go -> internal/httputil/http.go renamed: internal/httpapi.go -> internal/httputil/httpapi.go renamed: internal/httpapi_test.go -> internal/httputil/httpapi_test.go renamed: internal/httpapis/paths.go -> internal/httputil/paths.go renamed: internal/routing.go -> internal/httputil/routing.go renamed: internal/basecomponent/base.go -> internal/setup/base.go renamed: internal/basecomponent/flags.go -> internal/setup/flags.go renamed: internal/partition_offset_table.go -> internal/sqlutil/partition_offset_table.go renamed: internal/postgres.go -> internal/sqlutil/postgres.go renamed: internal/postgres_wasm.go -> internal/sqlutil/postgres_wasm.go renamed: internal/sql.go -> internal/sqlutil/sql.go
Diffstat (limited to 'internal')
-rw-r--r--internal/consumers.go11
-rw-r--r--internal/eventutil/eventcontent.go (renamed from internal/eventcontent.go)4
-rw-r--r--internal/eventutil/events.go (renamed from internal/events.go)4
-rw-r--r--internal/eventutil/types.go (renamed from internal/types.go)4
-rw-r--r--internal/httpapis/paths.go6
-rw-r--r--internal/httputil/http.go (renamed from internal/http/http.go)19
-rw-r--r--internal/httputil/httpapi.go (renamed from internal/httpapi.go)21
-rw-r--r--internal/httputil/httpapi_test.go (renamed from internal/httpapi_test.go)16
-rw-r--r--internal/httputil/paths.go20
-rw-r--r--internal/httputil/routing.go (renamed from internal/routing.go)4
-rw-r--r--internal/setup/base.go (renamed from internal/basecomponent/base.go)14
-rw-r--r--internal/setup/flags.go (renamed from internal/basecomponent/flags.go)4
-rw-r--r--internal/setup/monolith.go14
-rw-r--r--internal/sqlutil/partition_offset_table.go (renamed from internal/partition_offset_table.go)21
-rw-r--r--internal/sqlutil/postgres.go (renamed from internal/postgres.go)2
-rw-r--r--internal/sqlutil/postgres_wasm.go (renamed from internal/postgres_wasm.go)2
-rw-r--r--internal/sqlutil/sql.go (renamed from internal/sql.go)6
-rw-r--r--internal/sqlutil/trace.go5
-rw-r--r--internal/sqlutil/uri.go14
19 files changed, 139 insertions, 52 deletions
diff --git a/internal/consumers.go b/internal/consumers.go
index df68cbfa..d7917f23 100644
--- a/internal/consumers.go
+++ b/internal/consumers.go
@@ -19,20 +19,13 @@ import (
"fmt"
"github.com/Shopify/sarama"
+ "github.com/matrix-org/dendrite/internal/sqlutil"
)
-// A PartitionOffset is the offset into a partition of the input log.
-type PartitionOffset struct {
- // The ID of the partition.
- Partition int32
- // The offset into the partition.
- Offset int64
-}
-
// A PartitionStorer has the storage APIs needed by the consumer.
type PartitionStorer interface {
// PartitionOffsets returns the offsets the consumer has reached for each partition.
- PartitionOffsets(ctx context.Context, topic string) ([]PartitionOffset, error)
+ PartitionOffsets(ctx context.Context, topic string) ([]sqlutil.PartitionOffset, error)
// SetPartitionOffset records where the consumer has reached for a partition.
SetPartitionOffset(ctx context.Context, topic string, partition int32, offset int64) error
}
diff --git a/internal/eventcontent.go b/internal/eventutil/eventcontent.go
index 64512836..873e20a8 100644
--- a/internal/eventcontent.go
+++ b/internal/eventutil/eventcontent.go
@@ -1,4 +1,4 @@
-// Copyright 2017 Vector Creations Ltd
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package internal
+package eventutil
import "github.com/matrix-org/gomatrixserverlib"
diff --git a/internal/events.go b/internal/eventutil/events.go
index 89c82e03..e6c7a4ff 100644
--- a/internal/events.go
+++ b/internal/eventutil/events.go
@@ -1,4 +1,4 @@
-// Copyright 2017 Vector Creations Ltd
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package internal
+package eventutil
import (
"context"
diff --git a/internal/types.go b/internal/eventutil/types.go
index be2717f3..6d119ce6 100644
--- a/internal/types.go
+++ b/internal/eventutil/types.go
@@ -1,4 +1,4 @@
-// Copyright 2017 Vector Creations Ltd
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package internal
+package eventutil
import (
"errors"
diff --git a/internal/httpapis/paths.go b/internal/httpapis/paths.go
deleted file mode 100644
index 8adec2df..00000000
--- a/internal/httpapis/paths.go
+++ /dev/null
@@ -1,6 +0,0 @@
-package httpapis
-
-const (
- PublicPathPrefix = "/_matrix/"
- InternalPathPrefix = "/api/"
-)
diff --git a/internal/http/http.go b/internal/httputil/http.go
index 2b189140..9197371a 100644
--- a/internal/http/http.go
+++ b/internal/httputil/http.go
@@ -1,4 +1,18 @@
-package http
+// Copyright 2020 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package httputil
import (
"bytes"
@@ -9,7 +23,6 @@ import (
"net/url"
"strings"
- "github.com/matrix-org/dendrite/internal/httpapis"
opentracing "github.com/opentracing/opentracing-go"
"github.com/opentracing/opentracing-go/ext"
)
@@ -29,7 +42,7 @@ func PostJSON(
return err
}
- parsedAPIURL.Path = httpapis.InternalPathPrefix + strings.TrimLeft(parsedAPIURL.Path, "/")
+ parsedAPIURL.Path = InternalPathPrefix + strings.TrimLeft(parsedAPIURL.Path, "/")
apiURL = parsedAPIURL.String()
req, err := http.NewRequest(http.MethodPost, apiURL, bytes.NewReader(jsonBytes))
diff --git a/internal/httpapi.go b/internal/httputil/httpapi.go
index 991a9861..0a37f06c 100644
--- a/internal/httpapi.go
+++ b/internal/httputil/httpapi.go
@@ -1,4 +1,18 @@
-package internal
+// Copyright 2020 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package httputil
import (
"context"
@@ -16,7 +30,6 @@ import (
"github.com/matrix-org/dendrite/clientapi/auth/authtypes"
federationsenderAPI "github.com/matrix-org/dendrite/federationsender/api"
"github.com/matrix-org/dendrite/internal/config"
- "github.com/matrix-org/dendrite/internal/httpapis"
"github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/util"
opentracing "github.com/opentracing/opentracing-go"
@@ -227,9 +240,9 @@ func SetupHTTPAPI(servMux *http.ServeMux, publicApiMux *mux.Router, internalApiM
servMux.Handle("/metrics", WrapHandlerInBasicAuth(promhttp.Handler(), cfg.Metrics.BasicAuth))
}
if enableHTTPAPIs {
- servMux.Handle(httpapis.InternalPathPrefix, internalApiMux)
+ servMux.Handle(InternalPathPrefix, internalApiMux)
}
- servMux.Handle(httpapis.PublicPathPrefix, WrapHandlerInCORS(publicApiMux))
+ servMux.Handle(PublicPathPrefix, WrapHandlerInCORS(publicApiMux))
}
// WrapHandlerInBasicAuth adds basic auth to a handler. Only used for /metrics
diff --git a/internal/httpapi_test.go b/internal/httputil/httpapi_test.go
index 6f159c8d..de6ccf9b 100644
--- a/internal/httpapi_test.go
+++ b/internal/httputil/httpapi_test.go
@@ -1,4 +1,18 @@
-package internal
+// Copyright 2020 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package httputil
import (
"net/http"
diff --git a/internal/httputil/paths.go b/internal/httputil/paths.go
new file mode 100644
index 00000000..728b5a87
--- /dev/null
+++ b/internal/httputil/paths.go
@@ -0,0 +1,20 @@
+// Copyright 2020 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package httputil
+
+const (
+ PublicPathPrefix = "/_matrix/"
+ InternalPathPrefix = "/api/"
+)
diff --git a/internal/routing.go b/internal/httputil/routing.go
index 4462c70c..0bd3655e 100644
--- a/internal/routing.go
+++ b/internal/httputil/routing.go
@@ -1,4 +1,4 @@
-// Copyright 2019 The Matrix.org Foundation C.I.C.
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package internal
+package httputil
import (
"net/url"
diff --git a/internal/basecomponent/base.go b/internal/setup/base.go
index 3ad1e4af..fb304893 100644
--- a/internal/basecomponent/base.go
+++ b/internal/setup/base.go
@@ -1,4 +1,4 @@
-// Copyright 2017 New Vector Ltd
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package basecomponent
+package setup
import (
"database/sql"
@@ -23,7 +23,7 @@ import (
"time"
"github.com/matrix-org/dendrite/internal/caching"
- "github.com/matrix-org/dendrite/internal/httpapis"
+ "github.com/matrix-org/dendrite/internal/httputil"
"github.com/matrix-org/dendrite/internal/sqlutil"
"github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/naffka"
@@ -127,8 +127,8 @@ func NewBaseDendrite(cfg *config.Dendrite, componentName string, useHTTPAPIs boo
tracerCloser: closer,
Cfg: cfg,
Caches: cache,
- PublicAPIMux: httpmux.PathPrefix(httpapis.PublicPathPrefix).Subrouter().UseEncodedPath(),
- InternalAPIMux: httpmux.PathPrefix(httpapis.InternalPathPrefix).Subrouter().UseEncodedPath(),
+ PublicAPIMux: httpmux.PathPrefix(httputil.PublicPathPrefix).Subrouter().UseEncodedPath(),
+ InternalAPIMux: httpmux.PathPrefix(httputil.InternalPathPrefix).Subrouter().UseEncodedPath(),
httpClient: &client,
KafkaConsumer: kafkaConsumer,
KafkaProducer: kafkaProducer,
@@ -237,7 +237,7 @@ func (b *BaseDendrite) SetupAndServeHTTP(bindaddr string, listenaddr string) {
WriteTimeout: HTTPServerTimeout,
}
- internal.SetupHTTPAPI(
+ httputil.SetupHTTPAPI(
http.DefaultServeMux,
b.PublicAPIMux,
b.InternalAPIMux,
@@ -282,7 +282,7 @@ func setupNaffka(cfg *config.Dendrite) (sarama.Consumer, sarama.SyncProducer) {
if err != nil {
logrus.WithError(err).Panic("Failed to parse naffka database file URI")
}
- db, err = sqlutil.Open(internal.SQLiteDriverName(), cs, nil)
+ db, err = sqlutil.Open(sqlutil.SQLiteDriverName(), cs, nil)
if err != nil {
logrus.WithError(err).Panic("Failed to open naffka database")
}
diff --git a/internal/basecomponent/flags.go b/internal/setup/flags.go
index 117df079..e4fc58d6 100644
--- a/internal/basecomponent/flags.go
+++ b/internal/setup/flags.go
@@ -1,4 +1,4 @@
-// Copyright 2017 New Vector Ltd
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package basecomponent
+package setup
import (
"flag"
diff --git a/internal/setup/monolith.go b/internal/setup/monolith.go
index 35fcd311..55ceffd6 100644
--- a/internal/setup/monolith.go
+++ b/internal/setup/monolith.go
@@ -1,3 +1,17 @@
+// Copyright 2020 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package setup
import (
diff --git a/internal/partition_offset_table.go b/internal/sqlutil/partition_offset_table.go
index 8b72819b..34882902 100644
--- a/internal/partition_offset_table.go
+++ b/internal/sqlutil/partition_offset_table.go
@@ -1,4 +1,4 @@
-// Copyright 2017 Vector Creations Ltd
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,14 +12,24 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package internal
+package sqlutil
import (
"context"
"database/sql"
"strings"
+
+ "github.com/matrix-org/util"
)
+// A PartitionOffset is the offset into a partition of the input log.
+type PartitionOffset struct {
+ // The ID of the partition.
+ Partition int32
+ // The offset into the partition.
+ Offset int64
+}
+
const partitionOffsetsSchema = `
-- The offsets that the server has processed up to.
CREATE TABLE IF NOT EXISTS ${prefix}_partition_offsets (
@@ -90,7 +100,12 @@ func (s *PartitionOffsetStatements) selectPartitionOffsets(
if err != nil {
return nil, err
}
- defer CloseAndLogIfError(ctx, rows, "selectPartitionOffsets: rows.close() failed")
+ defer func() {
+ err2 := rows.Close()
+ if err2 != nil {
+ util.GetLogger(ctx).WithError(err2).Error("selectPartitionOffsets: rows.close() failed")
+ }
+ }()
var results []PartitionOffset
for rows.Next() {
var offset PartitionOffset
diff --git a/internal/postgres.go b/internal/sqlutil/postgres.go
index 7ae40d8f..41a5508a 100644
--- a/internal/postgres.go
+++ b/internal/sqlutil/postgres.go
@@ -14,7 +14,7 @@
// +build !wasm
-package internal
+package sqlutil
import "github.com/lib/pq"
diff --git a/internal/postgres_wasm.go b/internal/sqlutil/postgres_wasm.go
index 64d32829..c45842f0 100644
--- a/internal/postgres_wasm.go
+++ b/internal/sqlutil/postgres_wasm.go
@@ -14,7 +14,7 @@
// +build wasm
-package internal
+package sqlutil
// IsUniqueConstraintViolationErr no-ops for this architecture
func IsUniqueConstraintViolationErr(err error) bool {
diff --git a/internal/sql.go b/internal/sqlutil/sql.go
index e3c10afc..a25a4a5b 100644
--- a/internal/sql.go
+++ b/internal/sqlutil/sql.go
@@ -1,6 +1,4 @@
-// Copyright 2017 Vector Creations Ltd
-// Copyright 2017-2018 New Vector Ltd
-// Copyright 2019-2020 The Matrix.org Foundation C.I.C.
+// Copyright 2020 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -14,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package internal
+package sqlutil
import (
"database/sql"
diff --git a/internal/sqlutil/trace.go b/internal/sqlutil/trace.go
index 1b008e1b..f6644d59 100644
--- a/internal/sqlutil/trace.go
+++ b/internal/sqlutil/trace.go
@@ -25,7 +25,6 @@ import (
"strings"
"time"
- "github.com/matrix-org/dendrite/internal"
"github.com/ngrok/sqlmw"
"github.com/sirupsen/logrus"
)
@@ -78,7 +77,7 @@ func (in *traceInterceptor) RowsNext(c context.Context, rows driver.Rows, dest [
// Open opens a database specified by its database driver name and a driver-specific data source name,
// usually consisting of at least a database name and connection information. Includes tracing driver
// if DENDRITE_TRACE_SQL=1
-func Open(driverName, dsn string, dbProperties internal.DbProperties) (*sql.DB, error) {
+func Open(driverName, dsn string, dbProperties DbProperties) (*sql.DB, error) {
if tracingEnabled {
// install the wrapped driver
driverName += "-trace"
@@ -87,7 +86,7 @@ func Open(driverName, dsn string, dbProperties internal.DbProperties) (*sql.DB,
if err != nil {
return nil, err
}
- if driverName != internal.SQLiteDriverName() && dbProperties != nil {
+ if driverName != SQLiteDriverName() && dbProperties != nil {
logrus.WithFields(logrus.Fields{
"MaxOpenConns": dbProperties.MaxOpenConns(),
"MaxIdleConns": dbProperties.MaxIdleConns(),
diff --git a/internal/sqlutil/uri.go b/internal/sqlutil/uri.go
index f72e0242..703258e6 100644
--- a/internal/sqlutil/uri.go
+++ b/internal/sqlutil/uri.go
@@ -1,3 +1,17 @@
+// Copyright 2020 The Matrix.org Foundation C.I.C.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
package sqlutil
import (