Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckPermissions

func CheckPermissions(writer http.ResponseWriter, request *http.Request, orgID types.OrgID, auth bool) bool

    CheckPermissions checks whether user with a provided token(from request) can access current organization and handled the error on negative result by logging the error and writing a corresponding http response

    func CreateOpenAPIHandler

    func CreateOpenAPIHandler(filePath string, debug bool, cacheFile bool) func(writer http.ResponseWriter, request *http.Request)

      CreateOpenAPIHandler creates a handler for a server to send OpenAPI file. Optionally, you can turn on or off debug to filter out debug endpoints. Optionally, you can turn on caching by setting cacheFile to true, then you will have to restart a server on each file change

      func FilterOutDebugMethods

      func FilterOutDebugMethods(openAPIFileContent string) (string, error)

        FilterOutDebugMethods returns the same openapi spec, but without endpoints tagged as debug.

        func GetRouterParam

        func GetRouterParam(request *http.Request, paramName string) (string, error)

          GetRouterParam retrieves parameter from URL like `/organization/{org_id}`

          func GetRouterPositiveIntParam

          func GetRouterPositiveIntParam(request *http.Request, paramName string) (uint64, error)

            GetRouterPositiveIntParam retrieves parameter from URL like `/organization/{org_id}` and check it for being valid and positive integer, otherwise returns error

            func HandleOrgIDError

            func HandleOrgIDError(writer http.ResponseWriter, err error)

              HandleOrgIDError logs org id error and writes corresponding http response

              func LogRequest

              func LogRequest(nextHandler http.Handler) http.Handler

                LogRequest - middleware for logging requests

                func MakeURLToEndpoint

                func MakeURLToEndpoint(apiPrefix, endpoint string, args ...interface{}) string

                  MakeURLToEndpoint creates URL to endpoint, use constants from file endpoints.go

                  func MakeURLToEndpointMap

                  func MakeURLToEndpointMap(apiPrefix, endpoint string, args map[string]interface{}) string

                    MakeURLToEndpointMap creates URL to endpoint using arguments in map, use constants from file endpoints.go

                    func MakeURLToEndpointMapString

                    func MakeURLToEndpointMapString(apiPrefix, endpoint string, args map[string]string) string

                      MakeURLToEndpointMapString creates URL to endpoint using arguments in map in string format, use constants from file endpoints.go

                      func ReadClusterListFromBody

                      func ReadClusterListFromBody(writer http.ResponseWriter, request *http.Request) ([]string, bool)

                        ReadClusterListFromBody retrieves list of clusters from request's body if it's not possible, it writes http error to the writer and returns false

                        func ReadClusterListFromPath

                        func ReadClusterListFromPath(writer http.ResponseWriter, request *http.Request) ([]string, bool)

                          ReadClusterListFromPath retrieves list of clusters from request's path if it's not possible, it writes http error to the writer and returns false

                          func ReadClusterName

                          func ReadClusterName(writer http.ResponseWriter, request *http.Request) (types.ClusterName, bool)

                            ReadClusterName retrieves cluster name from request if it's not possible, it writes http error to the writer and returns false

                            func ReadClusterNames

                            func ReadClusterNames(writer http.ResponseWriter, request *http.Request) ([]types.ClusterName, bool)

                              ReadClusterNames does the same as `readClusterName`, except for multiple clusters.

                              func ReadErrorKey

                              func ReadErrorKey(writer http.ResponseWriter, request *http.Request) (types.ErrorKey, bool)

                                ReadErrorKey retrieves error key from request's url or writes an error to writer. The function returns an error key and a bool indicating if it was successful.

                                func ReadOrganizationID

                                func ReadOrganizationID(writer http.ResponseWriter, request *http.Request, auth bool) (types.OrgID, bool)

                                  ReadOrganizationID retrieves organization id from request if it's not possible, it writes http error to the writer and returns false

                                  func ReadOrganizationIDs

                                  func ReadOrganizationIDs(writer http.ResponseWriter, request *http.Request) ([]types.OrgID, bool)

                                    ReadOrganizationIDs does the same as `readOrganizationID`, except for multiple organizations.

                                    func ReadRuleID

                                    func ReadRuleID(writer http.ResponseWriter, request *http.Request) (types.RuleID, bool)

                                      ReadRuleID retrieves rule id from request's url or writes an error to writer. The function returns a rule id and a bool indicating if it was successful.

                                      func ReplaceParamsInEndpointAndTrimLeftSlash

                                      func ReplaceParamsInEndpointAndTrimLeftSlash(endpoint, replacer string) string

                                        ReplaceParamsInEndpointAndTrimLeftSlash replaces params in endpoint and trims left slash

                                        func SplitRequestParamArray

                                        func SplitRequestParamArray(arrayParam string) []string

                                          SplitRequestParamArray takes a single HTTP request parameter and splits it into a slice of strings. This assumes that the parameter is a comma-separated array.

                                          func ValidateClusterName

                                          func ValidateClusterName(clusterName string) (types.ClusterName, error)

                                            ValidateClusterName checks that the cluster name is a valid UUID. Converted cluster name is returned if everything is okay, otherwise an error is returned.

                                            Types

                                            This section is empty.