http_handler.go
http_handler.go - Overview
-
Overview This file defines the
APIHandler
and its methods for handling HTTP requests related to querying, alerting, dashboards, and other functionalities of the SigNoz query service. It also includes route registration and various helper functions for request parsing, response writing, and error handling. -
Detailed Documentation
status
(type)
- Purpose: Defines a string type for representing the status of an API response.
- Type:
string
statusSuccess
(constant)
- Purpose: Represents the success status.
- Type:
status
- Value:
"success"
statusError
(constant)
- Purpose: Represents the error status.
- Type:
status
- Value:
"error"
defaultFluxInterval
(constant)
- Purpose: Defines the default interval for Flux queries.
- Type:
time.Duration
- Value:
5 * time.Minute
NewRouter()
- Purpose: Creates and configures a new
mux.Router
instance with encoded path support. - Returns: A pointer to the created
mux.Router
.
APIHandler
(struct)
- Purpose: Implements the query service public API, holding dependencies and configurations.
- Fields:
reader
: Aninterfaces.Reader
for accessing business data.skipConfig
: Amodel.SkipConfig
for skipping certain configurations.appDao
: Adao.ModelDao
for performing CRUD operations on app objects.ruleManager
: Arules.Manager
for handling rule CRUD operations.featureFlags
: Aninterfaces.FeatureLookup
for querying feature flags.querier
: Aninterfaces.Querier
for querying data.querierV2
: Aninterfaces.Querier
for querying data v2.queryBuilder
: AqueryBuilder.QueryBuilder
for building queries.preferSpanMetrics
: Abool
indicating preference for span metrics.temporalityMap
: Amap[string]map[v3.Temporality]bool
to cache metric temporalities.temporalityMux
: Async.Mutex
to protect access to thetemporalityMap
.IntegrationsController
: Anintegrations.Controller
for managing integrations.CloudIntegrationsController
: Acloudintegrations.Controller
for managing cloud integrations.LogsParsingPipelineController
: Alogparsingpipeline.LogParsingPipelineController
for managing log parsing pipelines.SetupCompleted
: Abool
indicating if setup is completed.Upgrader
: Awebsocket.Upgrader
for websocket connections.UseLogsNewSchema
: Abool
indicating whether to use the new logs schema.UseTraceNewSchema
: Abool
indicating whether to use the new trace schema.hostsRepo
: Aninframetrics.HostsRepo
for host-related metrics.processesRepo
: Aninframetrics.ProcessesRepo
for process-related metrics.podsRepo
: Aninframetrics.PodsRepo
for pod-related metrics.nodesRepo
: Aninframetrics.NodesRepo
for node-related metrics.namespacesRepo
: Aninframetrics.NamespacesRepo
for namespace-related metrics.clustersRepo
: Aninframetrics.ClustersRepo
for cluster-related metrics.deploymentsRepo
: Aninframetrics.DeploymentsRepo
for deployment-related metrics.daemonsetsRepo
: Aninframetrics.DaemonSetsRepo
for daemonset-related metrics.statefulsetsRepo
: Aninframetrics.StatefulSetsRepo
for statefulset-related metrics.jobsRepo
: Aninframetrics.JobsRepo
for job-related metrics.SummaryService
: Ametricsexplorer.SummaryService
for summary of metricspvcsRepo
: Aninframetrics.PvcsRepo
for persistent volume claims metrics.JWT
: Aauthtypes.JWT
for JWT authentication.AlertmanagerAPI
: Analertmanager.API
for managing alerts.Signoz
: Asignoz.SigNoz
instance.Preference
: Apreference.API
for managing user and org preferences.
APIHandlerOpts
(struct)
- Purpose: Configuration options for creating an
APIHandler
. - Fields:
Reader
: Aninterfaces.Reader
for accessing business data.SkipConfig
: Amodel.SkipConfig
for skipping certain configurations.PreferSpanMetrics
: Abool
indicating preference for span metrics.AppDao
: Adao.ModelDao
for performing CRUD operations on app objects.RuleManager
: Arules.Manager
for handling rule CRUD operations.FeatureFlags
: Aninterfaces.FeatureLookup
for querying feature flags.IntegrationsController
: Anintegrations.Controller
for managing integrations.CloudIntegrationsController
: Acloudintegrations.Controller
for managing cloud integrations.LogsParsingPipelineController
: Alogparsingpipeline.LogParsingPipelineController
for managing log parsing pipelines.Cache
: Acache.Cache
for caching data.FluxInterval
: Atime.Duration
for the Flux query interval.UseLogsNewSchema
: Abool
indicating whether to use the new logs schema.UseTraceNewSchema
: Abool
indicating whether to use the new trace schema.JWT
: Aauthtypes.JWT
for JWT authentication.AlertmanagerAPI
: Analertmanager.API
for managing alerts.Signoz
: Asignoz.SigNoz
instance.Preference
: Apreference.API
for managing user and org preferences.
NewAPIHandler(opts APIHandlerOpts)
- Purpose: Creates a new
APIHandler
instance with the given options. It initializes the querier, repositories, and other dependencies. It also checks if at least one user exists and setsSetupCompleted
accordingly. - Parameters:
opts
: AnAPIHandlerOpts
struct containing configuration options.
- Returns: A pointer to the created
APIHandler
and an error, if any.
structuredResponse
(struct) - Deprecated
- Purpose: Structure for API responses (deprecated).
- Fields:
Data
: The response data (interface{}).Total
: Total number of items (int).Limit
: Limit of items per page (int).Offset
: Offset of the current page (int).Errors
: List of errors (slice ofstructuredError
).
structuredError
(struct) - Deprecated
- Purpose: Structure for API errors (deprecated).
- Fields:
Code
: Error code (int).Msg
: Error message (string).
ApiResponse
(struct) - Deprecated
- Purpose: Generic API response structure (deprecated).
- Fields:
Status
: The status of the response (status
).Data
: The response data (interface{}).ErrorType
: The type of error (model.ErrorType
).Error
: The error message (string).
RespondError(w http.ResponseWriter, apiErr model.BaseApiError, data interface{})
- Deprecated
- Purpose: Writes an error response to the HTTP response writer (deprecated).
- Parameters:
w
: Thehttp.ResponseWriter
.apiErr
: Themodel.BaseApiError
representing the error.data
: Additional data to include in the response (interface{}).
- Returns: None
writeHttpResponse(w http.ResponseWriter, data interface{})
- Deprecated
- Purpose: Writes a successful HTTP response to the response writer (deprecated).
- Parameters:
w
: Thehttp.ResponseWriter
.data
: The data to include in the response (interface{}).
- Returns: None
RegisterQueryRangeV3Routes(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers API routes related to query range version 3.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
RegisterInfraMetricsRoutes(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers API routes for infrastructure metrics.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
RegisterWebSocketPaths(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers WebSocket paths for query progress updates.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
RegisterQueryRangeV4Routes(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers API routes related to query range version 4.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
Respond(w http.ResponseWriter, data interface{})
- Deprecated
- Purpose: Writes a JSON response with a success status (deprecated).
- Parameters:
w
: Thehttp.ResponseWriter
.data
: The data to be written in the response (interface{}).
- Returns: None
RegisterPrivateRoutes(router *mux.Router)
- Purpose: Registers private API routes.
- Parameters:
router
: Themux.Router
to register the routes on.
- Returns: None
RegisterRoutes(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers API routes for various functionalities like alerts, rules, dashboards, authentication, etc.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
MetricExplorerRoutes(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers API routes for metric explorer functionalities.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
Intersection(a, b []int) ([]int)
- Purpose: Finds the intersection of two integer slices.
- Parameters:
a
: The first integer slice.b
: The second integer slice.
- Returns: A new integer slice containing the common elements.
getRule(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves a rule by its ID and writes it to the response.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
PopulateTemporality(ctx context.Context, qp *v3.QueryRangeParamsV3) error
- Purpose: Populates the temporality for each metric in the query if it is missing.
- Parameters:
ctx
: The context.qp
: The query range parameters.
- Returns: An error if any.
listDowntimeSchedules(w http.ResponseWriter, r *http.Request)
- Purpose: Lists all downtime schedules.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getDowntimeSchedule(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves a downtime schedule by its ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
createDowntimeSchedule(w http.ResponseWriter, r *http.Request)
- Purpose: Creates a new downtime schedule.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
editDowntimeSchedule(w http.ResponseWriter, r *http.Request)
- Purpose: Edits an existing downtime schedule.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
deleteDowntimeSchedule(w http.ResponseWriter, r *http.Request)
- Purpose: Deletes a downtime schedule by its ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getRuleStats(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves statistics for a rule, including total triggers, average resolution time, etc.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getOverallStateTransitions(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the state transitions of a rule over time.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
metaForLinks(ctx context.Context, rule *rules.GettableRule) ([]v3.FilterItem, []v3.AttributeKey, map[string]v3.AttributeKey)
- Purpose: Retrieves metadata like filter items, group by attributes and attribute keys, necessary to prepare context links based on rule type (logs or traces).
- Parameters:
ctx
: The context.Contextrule
: The pointer to rules.GettableRule
- Returns: filterItems ([]v3.FilterItem), groupBy ([]v3.AttributeKey), keys (map[string]v3.AttributeKey)
getRuleStateHistory(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the history of a rule's state changes.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getRuleStateHistoryTopContributors(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the top contributors to a rule's state changes.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
listRules(w http.ResponseWriter, r *http.Request)
- Purpose: Lists all rules.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getDashboards(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves a list of dashboards, potentially filtered by tags.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
deleteDashboard(w http.ResponseWriter, r *http.Request)
- Purpose: Deletes a dashboard by its UUID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
prepareQuery(r *http.Request) (string, error)
- Purpose: Prepares a query for dashboard variables by extracting and validating data from the request body.
- Parameters:
r
: Thehttp.Request
containing the query and variables.
- Returns: The prepared query string and an error, if any.
queryDashboardVarsV2(w http.ResponseWriter, r *http.Request)
- Purpose: Executes a query for dashboard variables and writes the result to the response.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
updateDashboard(w http.ResponseWriter, r *http.Request)
- Purpose: Updates a dashboard by its UUID with data from the request body.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getDashboard(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves a dashboard by its UUID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
createDashboards(w http.ResponseWriter, r *http.Request)
- Purpose: Creates a new dashboard with data from the request body.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
testRule(w http.ResponseWriter, r *http.Request)
- Purpose: Tests a rule by sending a test notification.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
deleteRule(w http.ResponseWriter, r *http.Request)
- Purpose: Deletes a rule by its ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
patchRule(w http.ResponseWriter, r *http.Request)
- Purpose: Patches/updates a rule by its ID with data from the request body.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
editRule(w http.ResponseWriter, r *http.Request)
- Purpose: Edits/Updates a rule by its ID with data from the request body.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
createRule(w http.ResponseWriter, r *http.Request)
- Purpose: Creates a new rule with data from the request body.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
queryRangeMetrics(w http.ResponseWriter, r *http.Request)
- Purpose: Executes a query range request for metrics.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
queryMetrics(w http.ResponseWriter, r *http.Request)
- Purpose: Executes an instant query request for metrics.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
submitFeedback(w http.ResponseWriter, r *http.Request)
- Purpose: Submits user feedback.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
registerEvent(w http.ResponseWriter, r *http.Request)
- Purpose: Registers a telemetry event.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getTopOperations(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the top operations for a service.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getUsage(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the usage data.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getServicesTopLevelOps(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the top-level operations for services.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getServices(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves a list of services.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
dependencyGraph(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the dependency graph of services.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getServicesList(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves a simplified list of services.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
GetWaterfallSpansForTraceWithMetadata(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves waterfall spans for a trace with metadata.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
GetFlamegraphSpansForTrace(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves flamegraph spans for a trace.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
listErrors(w http.ResponseWriter, r *http.Request)
- Purpose: Lists errors based on the given query parameters.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
countErrors(w http.ResponseWriter, r *http.Request)
- Purpose: Counts errors based on the given query parameters.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getErrorFromErrorID(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves an error by its ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getNextPrevErrorIDs(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the next and previous error IDs.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getErrorFromGroupID(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves an error by its group ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
setTTL(w http.ResponseWriter, r *http.Request)
- Purpose: Sets the Time-To-Live (TTL) setting.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getTTL(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the Time-To-Live (TTL) setting.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getDisks(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the list of disks.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getVersion(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the version of the service.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getFeatureFlags(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the list of feature flags.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
FF() interfaces.FeatureLookup
- Purpose: Returns the feature flags interface.
- Returns: An
interfaces.FeatureLookup
instance.
CheckFeature(f string) bool
- Purpose: Checks if a feature is enabled.
- Parameters:
f
: The name of the feature.
- Returns:
true
if the feature is enabled,false
otherwise.
getHealth(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the health status of the service.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
inviteUser(w http.ResponseWriter, r *http.Request)
- Purpose: Invites a user.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
inviteUsers(w http.ResponseWriter, r *http.Request)
- Purpose: Invites users in bulk.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getInvite(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves invite details by token.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
revokeInvite(w http.ResponseWriter, r *http.Request)
- Purpose: Revokes an invite by email.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
listPendingInvites(w http.ResponseWriter, r *http.Request)
- Purpose: Lists pending invites.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
Register(w http.ResponseWriter, r *http.Request)
- Purpose: Public method to register a user.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
registerUser(w http.ResponseWriter, r *http.Request)
- Purpose: Registers a new user.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
precheckLogin(w http.ResponseWriter, r *http.Request)
- Purpose: Prechecks the login attempt, providing validation and potentially source information.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
loginUser(w http.ResponseWriter, r *http.Request)
- Purpose: Logs in a user.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
listUsers(w http.ResponseWriter, r *http.Request)
- Purpose: Lists all users.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getUser(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves a user by ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
editUser(w http.ResponseWriter, r *http.Request)
- Purpose: Edits a user's name and profile picture URL.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
deleteUser(w http.ResponseWriter, r *http.Request)
- Purpose: Deletes a user by ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getRole(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves the role of a user.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
editRole(w http.ResponseWriter, r *http.Request)
- Purpose: Edits the role of a user.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getOrgs(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves all organizations.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getOrg(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves an organization by ID.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
editOrg(w http.ResponseWriter, r *http.Request)
- Purpose: Edits an organization.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getOrgUsers(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves users for a specific organization.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getResetPasswordToken(w http.ResponseWriter, r *http.Request)
- Purpose: Creates a reset password token for a user.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
resetPassword(w http.ResponseWriter, r *http.Request)
- Purpose: Resets a user's password.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
changePassword(w http.ResponseWriter, r *http.Request)
- Purpose: Changes a user's password.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
HandleError(w http.ResponseWriter, err error, statusCode int) bool
- Purpose: Handles errors by writing an error response to the
http.ResponseWriter
. - Parameters:
w
: Thehttp.ResponseWriter
.err
: The error object.statusCode
: The HTTP status code to return.
- Returns:
true
if an error was handled,false
otherwise.
WriteJSON(w http.ResponseWriter, r *http.Request, response interface{})
- Purpose: Writes a JSON response to the
http.ResponseWriter
. Supports pretty printing if thepretty
query parameter is set. - Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.response
: The data to be serialized as JSON.
- Returns: None
RegisterMessagingQueuesRoutes(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers API routes for messaging queues.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
RegisterThirdPartyApiRoutes(router *mux.Router, am *AuthMiddleware)
- Purpose: Registers API routes for third-party API integrations.
- Parameters:
router
: Themux.Router
to register the routes on.am
: TheAuthMiddleware
for authentication.
- Returns: None
uniqueIdentifier(params []string, separator string) string
- Purpose: Generates a unique identifier by joining strings with a separator.
- Parameters:
params
: A slice of strings.separator
: The separator string.
- Returns: The generated unique identifier.
onboardProducers(w http.ResponseWriter, r *http.Request)
- Purpose: Handles the onboarding of Kafka producers.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
onboardConsumers(w http.ResponseWriter, r *http.Request)
- Purpose: Handles the onboarding of Kafka consumers.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
onboardKafka(w http.ResponseWriter, r *http.Request)
- Purpose: Handles the general onboarding of Kafka.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getNetworkData(w http.ResponseWriter, r *http.Request)
- Purpose: Gets network latency data for kafka.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getProducerData(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves data for Kafka producers.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getConsumerData(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves data for Kafka consumers.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getPartitionOverviewLatencyData(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves partition overview latency data.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getConsumerPartitionLatencyData(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves consumer partition latency data.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getProducerThroughputOverview(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves producer throughput overview data.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getProducerThroughputDetails(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves detailed producer throughput data.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: Thehttp.Request
.
- Returns: None
getConsumerThroughputOverview(w http.ResponseWriter, r *http.Request)
- Purpose: Retrieves consumer throughput overview data.
- Parameters:
w
: Thehttp.ResponseWriter
.r
: The `http.