summaryrefslogtreecommitdiff
path: root/vendor/github.com/xlgmokha/x/pkg/serde/http.go
blob: 65b795f8d88c25d9b4b6cdc0c70ab1d619f8a1e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package serde

import (
	"net/http"
)

func FromHTTP[T any](r *http.Request) (T, error) {
	return From[T](r.Body, MediaTypeFor(r.Header.Get("Content-Type")))
}

func ToHTTP[T any](w http.ResponseWriter, r *http.Request, item T) error {
	mediaType := MediaTypeFor(r.Header.Get("Accept"))
	w.Header().Set("Content-Type", string(mediaType))
	return To[T](w, item, mediaType)
}