Merge "Fixing the E2 reset notification"
[ric-plt/e2mgr.git] / E2Manager / clients / http_client.go
1 //
2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //      http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16
17 //  This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 //  platform project (RICP).
19
20 package clients
21
22 import (
23         "io"
24         "net/http"
25 )
26
27 type IHttpClient interface {
28         Post(url, contentType string, body io.Reader) (resp *http.Response, err error)
29         Delete(url, contentType string, body io.Reader) (resp *http.Response, err error)
30 }
31
32 type HttpClient struct {
33         *http.Client
34 }
35
36 func NewHttpClient() *HttpClient {
37         return &HttpClient{
38                 &http.Client{},
39         }
40 }
41
42 func (c *HttpClient) Delete(url, contentType string, body io.Reader) (resp *http.Response, err error) {
43         req, _ := http.NewRequest(http.MethodDelete, url, body)
44         req.Header.Set("Content-Type", contentType)
45         return c.Do(req)
46 }
47