in og/viewog/og.go [46:69]
func (a *Handler) Values(w http.ResponseWriter, r *http.Request) error {
ctx := r.Context()
env, err := rellenv.FromContext(ctx)
if err != nil {
return err
}
values := r.URL.Query()
parts := strings.Split(r.URL.Path, "/")
if len(parts) > 4 {
return errcode.New(http.StatusNotFound, "Invalid URL: %s", r.URL.Path)
}
if len(parts) > 2 {
values.Set("og:type", parts[2])
}
if len(parts) > 3 {
values.Set("og:title", parts[3])
}
object, err := a.ObjectParser.FromValues(ctx, env, values)
if err != nil {
return err
}
_, err = h.Write(ctx, w, renderObject(ctx, env, a.Static, object))
return err
}