func()

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
}