Documentation
¶
Index ¶
- type JSONResponse
- type Tools
- func (t *Tools) CreateDirIfNotExist(path string) error
- func (t *Tools) DownloadStaticFile(w http.ResponseWriter, r *http.Request, p, file, displayName string)
- func (t *Tools) ErrorJSON(w http.ResponseWriter, err error, status ...int) error
- func (t *Tools) PushJSONToRemote(uri string, data interface{}, client ...*http.Client) (*http.Response, int, error)
- func (t *Tools) RandomString(n int) string
- func (t *Tools) ReadJSON(w http.ResponseWriter, r *http.Request, data interface{}) error
- func (t *Tools) Slugify(s string) (string, error)
- func (t *Tools) UploadFiles(r *http.Request, uploadDir string, rename ...bool) ([]*UploadedFile, error)
- func (t *Tools) UploadOneFile(r *http.Request, uploadDir string, rename ...bool) (*UploadedFile, error)
- func (t *Tools) WriteJSON(w http.ResponseWriter, status int, data interface{}, headers ...http.Header) error
- type UploadedFile
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type JSONResponse ¶
type JSONResponse struct {
Error bool `json:"error"`
Message string `json:"message"`
Data interface{} `json:"data,omitempty"`
}
JSONResponse is the type used for sending JSON around
type Tools ¶
type Tools struct {
MaxFileSize int
AllowedFileTypes []string
MaxJSONSize int
AllowUnknownFields bool
}
Tools is the type used to instantiate this module. Any variable of this type will have access to all the methods with the receiver *Tools
func (*Tools) CreateDirIfNotExist ¶
CreateDirIfNotExist creates a directory, and all necessary parents, if it does not exist
func (*Tools) DownloadStaticFile ¶
func (t *Tools) DownloadStaticFile(w http.ResponseWriter, r *http.Request, p, file, displayName string)
DownloadStaticFile downloads a file and tries to force the browser to avoid displaying it in the browser window by setting content disposition. It also allows the specification of the display name.
func (*Tools) ErrorJSON ¶
ErrorJSON takes an error, and optionally a status code, and generates and sends a JSON error message
func (*Tools) PushJSONToRemote ¶
func (t *Tools) PushJSONToRemote(uri string, data interface{}, client ...*http.Client) (*http.Response, int, error)
PushJSONToRemote posts arbitrary data to some URL as JSON, and returns the response, status code, and error if any. The final parameter, client, is optional. If not is specified, we use the standard http.Client.
func (*Tools) RandomString ¶
RandomString returns a string of random characters of length n, using ramdomStringSource as the source for the string
func (*Tools) ReadJSON ¶
ReadJSON tries to read the body of request and converts it from json into a go data variable
func (*Tools) UploadFiles ¶
func (*Tools) UploadOneFile ¶
type UploadedFile ¶
UploadedFile is a struct used to save information about an uploaded file