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 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) UploadOneFile(r *http.Request, uploadDir string, rename ...bool) (*UploadedFile, error)
- func (t *Tools) UploadedFiles(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 the type used for sending JSON around
type Tools ¶
type Tools struct {
MaxFileSize int
AllowedFileTypes []string
MaxJSONSize int
AllowUnknowFields bool
}
Tools is the type used to instantiate this module. Any variable os this type will have access to all the methods with the reciever *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 download a file, and tries to force the brower to avoid displaying it in the brower window by setting content disposition. It also allow specification of the display name
func (*Tools) ErrorJSON ¶
ErrorJSON takes an error, and optionally a status code, and generates and status a JSON error message
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 as 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 soruce for the string
func (*Tools) ReadJSON ¶
ReadJSON tries to read the body of a request and convert from json into a go data variable
func (*Tools) UploadOneFile ¶
func (*Tools) UploadedFiles ¶
type UploadedFile ¶
UploadedFile is a struct used to save information abcout an upload file