Documentation

Overview

    Package web contains a handful of very useful functions for parsing types from request queries and payloads.

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var (
    	JSONContentType = "application/json; charset=UTF-8"
    	DateISOFormat   = "2006-01-02"
    )

      Let's have generic errors for expected conditions. Typically these would be http.StatusBadRequest (400)

      Functions

      func GetInt64Var

      func GetInt64Var(r *http.Request, key string) int64

        GetInt64Var is a helper to pull gorilla mux Vars. If the value is empty, it falls back to the URL query string. We are ignoring the error here bc we're assuming the path had a [0-9]+ descriptor on this var.

        func GetUInt64Var

        func GetUInt64Var(r *http.Request, key string) uint64

          GetUInt64Var is a helper to pull gorilla mux Vars. If the value is empty, it falls back to the URL query string. We are ignoring the error here bc we're assuming the path had a [0-9]+ descriptor on this var.

          func ParseDateRange

          func ParseDateRange(vars map[string]string) (startDate time.Time, endDate time.Time, err error)

            ParseDateRange will look for and parse 'startDate' and 'endDate' ISO date strings in the given vars map.

            func ParseDateRangeFullDay

            func ParseDateRangeFullDay(vars map[string]string) (startDate time.Time, endDate time.Time, err error)

              ParseDateRangeFullDay will look for and parse 'startDate' and 'endDate' ISO date strings in the given vars map. It will then set the startDate time to midnight and the endDate time to 23:59:59.

              func ParseISODate

              func ParseISODate(dateStr string) (date time.Time, err error)

                ParseISODate is a handy function to accept

                func ParseTruthyFalsy

                func ParseTruthyFalsy(flag interface{}) (result bool, err error)

                  ParseTruthyFalsy is a helper method to attempt to parse booleans in APIs that have no set contract on what a boolean should look like.

                  func SetRouteVars

                  func SetRouteVars(r *http.Request, val interface{})

                    SetRouteVars will set the given value into into the request context with the shared 'vars' storage key.

                    func Vars

                    func Vars(r *http.Request) map[string]string

                      Vars is a helper function for accessing route parameters from any server.Router implementation. This is the equivalent of using `mux.Vars(r)` with the Gorilla mux.Router.

                      Types

                      This section is empty.