2021-04-08 09:54:47 +02:00
|
|
|
package rest
|
|
|
|
|
|
|
|
import (
|
2021-04-11 13:03:41 +02:00
|
|
|
"encoding/json"
|
2021-04-08 09:54:47 +02:00
|
|
|
"net/http"
|
2021-04-11 09:50:27 +02:00
|
|
|
"net/url"
|
2021-04-08 09:54:47 +02:00
|
|
|
)
|
|
|
|
|
2021-04-11 13:03:41 +02:00
|
|
|
// mimicing NotFound: https://golang.org/src/net/http/server.go?s=64787:64830#L2076
|
2021-04-08 09:54:47 +02:00
|
|
|
func BadRequest(w http.ResponseWriter) {
|
|
|
|
http.Error(w, "400 bad request", http.StatusBadRequest)
|
|
|
|
}
|
|
|
|
|
2021-04-11 13:03:41 +02:00
|
|
|
func Unauthorized(w http.ResponseWriter) {
|
|
|
|
http.Error(w, "401 unauthorized", http.StatusUnauthorized)
|
|
|
|
}
|
|
|
|
|
|
|
|
func Json(w http.ResponseWriter, data interface{}) {
|
|
|
|
w.WriteHeader(200)
|
2021-04-11 13:11:41 +02:00
|
|
|
bytes, _ := json.MarshalIndent(data, "", " ")
|
2021-04-11 13:03:41 +02:00
|
|
|
w.Write(bytes)
|
|
|
|
}
|
|
|
|
|
2021-04-08 09:54:47 +02:00
|
|
|
func Accept(w http.ResponseWriter) {
|
|
|
|
w.WriteHeader(202)
|
2021-04-09 12:40:37 +02:00
|
|
|
w.Write([]byte("Thanks, bro. Will process this soon, pinky swear!"))
|
2021-04-08 09:54:47 +02:00
|
|
|
}
|
2021-04-11 09:50:27 +02:00
|
|
|
|
|
|
|
// assumes the URL is well-formed.
|
|
|
|
func BaseUrlOf(link string) *url.URL {
|
|
|
|
obj, _ := url.Parse(link)
|
|
|
|
baseUrl, _ := url.Parse(obj.Scheme + "://" + obj.Host)
|
|
|
|
return baseUrl
|
|
|
|
}
|