Skip to content
Snippets Groups Projects
Select Git revision
  • 256c1ed7bf88f3a09d7fa589f8751e5a410946c9
  • master default protected
  • 3.0
  • develop
  • revert-2069-tripleVersion
  • 3.1
  • rest-protocol
  • feat/remoting_rocketmq
  • dapr-support
  • 1.5
  • 1.4
  • 1.3
  • 1.2
  • 1.1
  • v3.0.3-rc2
  • v3.0.3-rc1
  • v3.0.2
  • v1.5.8
  • v1.5.9-rc1
  • v3.0.1
  • v1.5.8-rc1
  • v3.0.0
  • v3.0.0-rc4-1
  • v3.0.0-rc4
  • v3.0.0-rc3
  • v1.5.7
  • v1.5.7-rc2
  • v3.0.0-rc2
  • remove
  • v1.5.7-rc1
  • v3.0.0-rc1
  • v1.5.7-rc1-tmp
  • 1.5.6
  • v1.5.6
34 results

response.go

Blame
  • user avatar
    haohongfan authored
    89db192b
    History
    response.go 1.49 KiB
    /*
     * Licensed to the Apache Software Foundation (ASF) under one or more
     * contributor license agreements.  See the NOTICE file distributed with
     * this work for additional information regarding copyright ownership.
     * The ASF licenses this file to You under the Apache License, Version 2.0
     * (the "License"); you may not use this file except in compliance with
     * the License.  You may obtain a copy of the License at
     *
     *     http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    package impl
    
    type ResponsePayload struct {
    	RspObj      interface{}
    	Exception   error
    	Attachments map[string]interface{}
    }
    
    // NewResponse create a new ResponsePayload
    func NewResponsePayload(rspObj interface{}, exception error, attachments map[string]interface{}) *ResponsePayload {
    	if attachments == nil {
    		attachments = make(map[string]interface{})
    	}
    	return &ResponsePayload{
    		RspObj:      rspObj,
    		Exception:   exception,
    		Attachments: attachments,
    	}
    }
    
    func EnsureResponsePayload(body interface{}) *ResponsePayload {
    	if res, ok := body.(*ResponsePayload); ok {
    		return res
    	}
    	if exp, ok := body.(error); ok {
    		return NewResponsePayload(nil, exp, nil)
    	}
    	return NewResponsePayload(body, nil, nil)
    }