Merge "Ric-193 - On Success, return Setup Response"
[ric-plt/e2mgr.git] / E2Manager / controllers / nodeb_controller.go
index b1fd087..7b8a86f 100644 (file)
 // 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.
-//
+
+//  This source code is part of the near-RT RIC (RAN Intelligent Controller)
+//  platform project (RICP).
+
 
 package controllers
 
@@ -173,7 +176,7 @@ func (c *NodebController) handleRequest(writer http.ResponseWriter, header *http
 
        c.logger.Infof("[E2 Manager -> Client] #NodebController.handleRequest - response: %s", result)
        writer.Header().Set("Content-Type", "application/json")
-       writer.Write([]byte(result))
+       writer.Write(result)
 }
 
 func (c *NodebController) validateRequestHeader(header *http.Header) error {
@@ -225,7 +228,14 @@ func (c *NodebController) handleErrorResponse(err error, writer http.ResponseWri
                        e2Error, _ := err.(*e2managererrors.ResourceNotFoundError)
                        errorResponseDetails = models.ErrorResponse{Code: e2Error.Code, Message: e2Error.Message}
                        httpError = http.StatusNotFound
-
+               case *e2managererrors.E2TInstanceAbsenceError:
+                       e2Error, _ := err.(*e2managererrors.E2TInstanceAbsenceError)
+                       errorResponseDetails = models.ErrorResponse{Code: e2Error.Code, Message: e2Error.Message}
+                       httpError = http.StatusServiceUnavailable
+               case *e2managererrors.RoutingManagerError:
+                       e2Error, _ := err.(*e2managererrors.RoutingManagerError)
+                       errorResponseDetails = models.ErrorResponse{Code: e2Error.Code, Message: e2Error.Message}
+                       httpError = http.StatusServiceUnavailable
                default:
                        e2Error := e2managererrors.NewInternalError()
                        errorResponseDetails = models.ErrorResponse{Code: e2Error.Code, Message: e2Error.Message}
@@ -239,10 +249,6 @@ func (c *NodebController) handleErrorResponse(err error, writer http.ResponseWri
        writer.Header().Set("Content-Type", "application/json")
        writer.WriteHeader(httpError)
        _, err = writer.Write(errorResponse)
-
-       if err != nil {
-               c.logger.Errorf("#NodebController.handleErrorResponse - Cannot send response. writer:%v", writer)
-       }
 }
 
 func (c *NodebController) prettifyRequest(request *http.Request) string {