mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package restPack
 | 
						|
 | 
						|
import (
 | 
						|
	restful "github.com/emicklei/go-restful"
 | 
						|
	"gopkg.in/vmihailenco/msgpack.v2"
 | 
						|
)
 | 
						|
 | 
						|
const MIME_MSGPACK = "application/x-msgpack" // Accept or Content-Type used in Consumes() and/or Produces()
 | 
						|
 | 
						|
// NewEntityAccessorMPack returns a new EntityReaderWriter for accessing MessagePack content.
 | 
						|
// This package is not initialized with such an accessor using the MIME_MSGPACK contentType.
 | 
						|
func NewEntityAccessorMsgPack() restful.EntityReaderWriter {
 | 
						|
	return entityMsgPackAccess{}
 | 
						|
}
 | 
						|
 | 
						|
// entityOctetAccess is a EntityReaderWriter for Octet encoding
 | 
						|
type entityMsgPackAccess struct {
 | 
						|
}
 | 
						|
 | 
						|
// Read unmarshalls the value from byte slice and using msgpack to unmarshal
 | 
						|
func (e entityMsgPackAccess) Read(req *restful.Request, v interface{}) error {
 | 
						|
	return msgpack.NewDecoder(req.Request.Body).Decode(v)
 | 
						|
}
 | 
						|
 | 
						|
// Write marshals the value to byte slice and set the Content-Type Header.
 | 
						|
func (e entityMsgPackAccess) Write(resp *restful.Response, status int, v interface{}) error {
 | 
						|
	if v == nil {
 | 
						|
		resp.WriteHeader(status)
 | 
						|
		// do not write a nil representation
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
	resp.WriteHeader(status)
 | 
						|
	return msgpack.NewEncoder(resp).Encode(v)
 | 
						|
}
 |