Files
fission-src/router/util.go
T
2017-09-29 07:37:36 -07:00

30 lines
985 B
Go

package router
import (
"fmt"
"net/http"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
)
const (
HEADERS_FISSION_FUNCTION_PREFIX = "Fission-Function"
)
func MetadataToHeaders(prefix string, meta *metav1.ObjectMeta, request *http.Request) {
request.Header.Add(fmt.Sprintf("X-%s-Uid", prefix), string(meta.UID))
request.Header.Add(fmt.Sprintf("X-%s-Name", prefix), meta.Name)
request.Header.Add(fmt.Sprintf("X-%s-Namespace", prefix), meta.Namespace)
request.Header.Add(fmt.Sprintf("X-%s-ResourceVersion", prefix), meta.ResourceVersion)
}
func HeadersToMetadata(prefix string, headers http.Header) *metav1.ObjectMeta {
return &metav1.ObjectMeta{
Name: headers.Get(fmt.Sprintf("X-%s-Name", prefix)),
UID: types.UID(headers.Get(fmt.Sprintf("X-%s-Uid", prefix))),
Namespace: headers.Get(fmt.Sprintf("X-%s-Namespace", prefix)),
ResourceVersion: headers.Get(fmt.Sprintf("X-%s-ResourceVersion", prefix)),
}
}