Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
73 lines
1.9 KiB
Go
73 lines
1.9 KiB
Go
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
// The OpenSearch Contributors require contributions made to
|
|
// this file be licensed under the Apache-2.0 license or a
|
|
// compatible open source license.
|
|
|
|
package opensearchapi
|
|
|
|
import (
|
|
"net/http"
|
|
"strings"
|
|
|
|
"github.com/opensearch-project/opensearch-go/v4"
|
|
)
|
|
|
|
// CatSegmentsReq represent possible options for the /_cat/segments request
|
|
type CatSegmentsReq struct {
|
|
Indices []string
|
|
Header http.Header
|
|
Params CatSegmentsParams
|
|
}
|
|
|
|
// GetRequest returns the *http.Request that gets executed by the client
|
|
func (r CatSegmentsReq) GetRequest() (*http.Request, error) {
|
|
indices := strings.Join(r.Indices, ",")
|
|
var path strings.Builder
|
|
path.Grow(len("/_cat/segments/") + len(indices))
|
|
path.WriteString("/_cat/segments")
|
|
if len(r.Indices) > 0 {
|
|
path.WriteString("/")
|
|
path.WriteString(indices)
|
|
}
|
|
return opensearch.BuildRequest(
|
|
"GET",
|
|
path.String(),
|
|
nil,
|
|
r.Params.get(),
|
|
r.Header,
|
|
)
|
|
}
|
|
|
|
// CatSegmentsResp represents the returned struct of the /_cat/segments response
|
|
type CatSegmentsResp struct {
|
|
Segments []CatSegmentResp
|
|
response *opensearch.Response
|
|
}
|
|
|
|
// CatSegmentResp represents one index of the CatSegmentsResp
|
|
type CatSegmentResp struct {
|
|
Index string `json:"index"`
|
|
Shard int `json:"shard,string"`
|
|
Prirep string `json:"prirep"`
|
|
IP string `json:"ip"`
|
|
ID string `json:"id"`
|
|
Segment string `json:"segment"`
|
|
Generation int `json:"generation,string"`
|
|
DocsCount int `json:"docs.count,string"`
|
|
DocsDeleted int `json:"docs.deleted,string"`
|
|
Size string `json:"size"`
|
|
SizeMemory string `json:"size.memory"`
|
|
Committed bool `json:"committed,string"`
|
|
Searchable bool `json:"searchable,string"`
|
|
Version string `json:"version"`
|
|
Compound bool `json:"compound,string"`
|
|
}
|
|
|
|
// Inspect returns the Inspect type containing the raw *opensearch.Reponse
|
|
func (r CatSegmentsResp) Inspect() Inspect {
|
|
return Inspect{
|
|
Response: r.response,
|
|
}
|
|
}
|