Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

// Engine is the generic interface for all responses.
type Engine interface {
Render(w io.Writer, v interface{}) error
Render(w io.Writer, v any) error
}

// Head defines the basic ContentType and Status fields.
Expand All @@ -36,7 +36,7 @@ type HTML struct {

// JSONEncoder is the interface for encoding/json.Encoder.
type JSONEncoder interface {
Encode(v interface{}) error
Encode(v any) error
SetEscapeHTML(on bool)
SetIndent(prefix, indent string)
}
Expand Down Expand Up @@ -77,7 +77,7 @@ func (h Head) Write(w http.ResponseWriter) {
}

// Render a data response.
func (d Data) Render(w io.Writer, v interface{}) error {
func (d Data) Render(w io.Writer, v any) error {
if hw, ok := w.(http.ResponseWriter); ok {
c := hw.Header().Get(ContentType)
if c != "" {
Expand All @@ -93,7 +93,7 @@ func (d Data) Render(w io.Writer, v interface{}) error {
}

// Render a HTML response.
func (h HTML) Render(w io.Writer, binding interface{}) error {
func (h HTML) Render(w io.Writer, binding any) error {
var buf *bytes.Buffer
if h.bp != nil {
// If we have a bufferpool, allocate from it
Expand All @@ -116,7 +116,7 @@ func (h HTML) Render(w io.Writer, binding interface{}) error {
}

// Render a JSON response.
func (j JSON) Render(w io.Writer, v interface{}) error {
func (j JSON) Render(w io.Writer, v any) error {
if j.StreamingJSON {
return j.renderStreamingJSON(w, v)
}
Expand Down Expand Up @@ -154,7 +154,7 @@ func (j JSON) Render(w io.Writer, v interface{}) error {
return nil
}

func (j JSON) renderStreamingJSON(w io.Writer, v interface{}) error {
func (j JSON) renderStreamingJSON(w io.Writer, v any) error {
if hw, ok := w.(http.ResponseWriter); ok {
j.Write(hw)
}
Expand All @@ -174,7 +174,7 @@ func (j JSON) renderStreamingJSON(w io.Writer, v interface{}) error {
}

// Render a JSONP response.
func (j JSONP) Render(w io.Writer, v interface{}) error {
func (j JSONP) Render(w io.Writer, v any) error {
var result []byte

var err error
Expand Down Expand Up @@ -207,7 +207,7 @@ func (j JSONP) Render(w io.Writer, v interface{}) error {
}

// Render a text response.
func (t Text) Render(w io.Writer, v interface{}) error {
func (t Text) Render(w io.Writer, v any) error {
if hw, ok := w.(http.ResponseWriter); ok {
c := hw.Header().Get(ContentType)
if c != "" {
Expand All @@ -223,7 +223,7 @@ func (t Text) Render(w io.Writer, v interface{}) error {
}

// Render an XML response.
func (x XML) Render(w io.Writer, v interface{}) error {
func (x XML) Render(w io.Writer, v any) error {
var result []byte

var err error
Expand Down
14 changes: 7 additions & 7 deletions render.go
Original file line number Diff line number Diff line change
Expand Up @@ -401,13 +401,13 @@ func (r *Render) TemplateLookup(t string) *template.Template {
return r.templates.Lookup(t)
}

func (r *Render) execute(templates *template.Template, name string, binding interface{}) (*bytes.Buffer, error) {
func (r *Render) execute(templates *template.Template, name string, binding any) (*bytes.Buffer, error) {
buf := new(bytes.Buffer)

return buf, templates.ExecuteTemplate(buf, name, binding)
}

func (r *Render) layoutFuncs(templates *template.Template, name string, binding interface{}) template.FuncMap {
func (r *Render) layoutFuncs(templates *template.Template, name string, binding any) template.FuncMap {
return template.FuncMap{
"yield": func() (template.HTML, error) {
buf, err := r.execute(templates, name, binding)
Expand Down Expand Up @@ -481,7 +481,7 @@ func (r *Render) prepareHTMLOptions(htmlOpt []HTMLOptions) HTMLOptions {
}

// Render is the generic function called by XML, JSON, Data, HTML, and can be called by custom implementations.
func (r *Render) Render(w io.Writer, e Engine, data interface{}) error {
func (r *Render) Render(w io.Writer, e Engine, data any) error {
err := e.Render(w, data)
if hw, ok := w.(http.ResponseWriter); err != nil && !r.opt.DisableHTTPErrorRendering && ok {
http.Error(hw, err.Error(), http.StatusInternalServerError)
Expand Down Expand Up @@ -514,7 +514,7 @@ func (r *Render) Data(w io.Writer, status int, v []byte, opts ...CallOptions) er
}

// HTML builds up the response from the specified template and bindings.
func (r *Render) HTML(w io.Writer, status int, name string, binding interface{}, htmlOpt ...HTMLOptions) error {
func (r *Render) HTML(w io.Writer, status int, name string, binding any, htmlOpt ...HTMLOptions) error {
// If we are in development mode, recompile the templates on every HTML request.
r.lock.RLock() // rlock here because we're reading the hasWatcher
if r.opt.IsDevelopment && !r.hasWatcher {
Expand Down Expand Up @@ -559,7 +559,7 @@ func (r *Render) HTML(w io.Writer, status int, name string, binding interface{},
}

// JSON marshals the given interface object and writes the JSON response.
func (r *Render) JSON(w io.Writer, status int, v interface{}, opts ...CallOptions) error {
func (r *Render) JSON(w io.Writer, status int, v any, opts ...CallOptions) error {
head := Head{
ContentType: resolveContentType(r.opt.JSONContentType+r.compiledCharset, opts),
Status: status,
Expand All @@ -578,7 +578,7 @@ func (r *Render) JSON(w io.Writer, status int, v interface{}, opts ...CallOption
}

// JSONP marshals the given interface object and writes the JSON response.
func (r *Render) JSONP(w io.Writer, status int, callback string, v interface{}, opts ...CallOptions) error {
func (r *Render) JSONP(w io.Writer, status int, callback string, v any, opts ...CallOptions) error {
head := Head{
ContentType: resolveContentType(r.opt.JSONPContentType+r.compiledCharset, opts),
Status: status,
Expand Down Expand Up @@ -608,7 +608,7 @@ func (r *Render) Text(w io.Writer, status int, v string, opts ...CallOptions) er
}

// XML marshals the given interface object and writes the XML response.
func (r *Render) XML(w io.Writer, status int, v interface{}, opts ...CallOptions) error {
func (r *Render) XML(w io.Writer, status int, v any, opts ...CallOptions) error {
head := Head{
ContentType: resolveContentType(r.opt.XMLContentType+r.compiledCharset, opts),
Status: status,
Expand Down
2 changes: 1 addition & 1 deletion render_json_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ type TestEncoder struct {
w io.Writer
}

func (e TestEncoder) Encode(_ interface{}) error {
func (e TestEncoder) Encode(_ any) error {
_, _ = e.w.Write([]byte(e.String()))

return nil
Expand Down
6 changes: 3 additions & 3 deletions render_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,23 +93,23 @@ func BenchmarkHTML(b *testing.B) {
}

// Test Helpers.
func expect(t *testing.T, a interface{}, b interface{}) {
func expect(t *testing.T, a any, b any) {
t.Helper()

if a != b {
t.Errorf("Expected ||%#v|| (type %v) - Got ||%#v|| (type %v)", b, reflect.TypeOf(b), a, reflect.TypeOf(a))
}
}

func expectNil(t *testing.T, a interface{}) {
func expectNil(t *testing.T, a any) {
t.Helper()

if a != nil {
t.Errorf("Expected ||nil|| - Got ||%#v|| (type %v)", a, reflect.TypeOf(a))
}
}

func expectNotNil(t *testing.T, a interface{}) {
func expectNotNil(t *testing.T, a any) {
t.Helper()

if a == nil {
Expand Down