Skip to content
Snippets Groups Projects
util.go 892 B
Newer Older
  • Learn to ignore specific revisions
  • package managerClient
    
    import (
    	"fmt"
    	"io"
    	"net/http"
    	"net/url"
    	"strings"
    
    	"code.fbi.h-da.de/danet/quant/qkdnManager-simulator/config"
    	"github.com/sirupsen/logrus"
    )
    
    func buildUrlEncodedRequest(qkdnAppAddress, clientTarget string, formBody url.Values) (*http.Request, error) {
    	address := formatTargetAddress(qkdnAppAddress, clientTarget)
    	dataReader := formBody.Encode()
    
    	req, err := http.NewRequest(
    		http.MethodPost,
    		address,
    		strings.NewReader(dataReader),
    	)
    	if err != nil {
    		return nil, err
    	}
    
    	// set the content-type header
    	req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
    	return req, nil
    }
    
    func formatTargetAddress(address, resource string) string {
    	return fmt.Sprintf("http://%s%s%s", address, config.APIPrefix, resource)
    }
    
    func checkCloseResponseBodyError(body io.ReadCloser) {
    	if err := body.Close(); err != nil {
    		logrus.Error(err)
    	}
    }