Documentation ¶
Index ¶
- type JSONResponse
- type Tools
- func (t *Tools) CreateDirIfNotExists(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 any, 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 any) 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 any, 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 any `json:"data,omitempty"` }
JSONResponse is a type used for sending Json around
type Tools ¶
type Tools struct { MaxFileSize int64 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 receives Tools
func (*Tools) CreateDirIfNotExists ¶
CreateDirIfNotExists creates a directory, and all necessary parents, if it does not exists
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 specifications of the display name
func (*Tools) ErrorJSON ¶
ErrorJSON take an error, optionally a status code, and generates and sends a Json error
func (*Tools) PushJsonToRemote ¶
func (t *Tools) PushJsonToRemote(uri string, data any, client ...*http.Client) (*http.Response, int, error)
PushJsonToRemote posts aribtrary data to some URL and Json, and returns the response, status code, and error if any. The final parameter client is optional. If none is specified, we use the standard http.Client
func (*Tools) RandomString ¶
RandomString returns a string of random characters of length n, using randomStringSource as the source for the string
func (*Tools) ReadJSON ¶
ReadJSON tries to reade the body of a request and converts from json into a go data variable
func (*Tools) UploadFiles ¶
func (*Tools) UploadOneFile ¶
type UploadedFile ¶
UploadedFile is a struct to sve information about an uploaded file