github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/uri.go (about)

     1  package functions
     2  
     3  import (
     4  	"net/url"
     5  	"path"
     6  )
     7  
     8  func Uri(args ...interface{}) interface{} {
     9  	if len(args) != 2 {
    10  		return ""
    11  	}
    12  
    13  	result, err := joinPath(args[0].(string), args[1].(string))
    14  	if err != nil {
    15  		return ""
    16  	}
    17  	return result
    18  }
    19  
    20  // Backport url.JoinPath until we're ready for Go 1.19
    21  func joinPath(base string, elem ...string) (string, error) {
    22  	u, err := url.Parse(base)
    23  	if err != nil {
    24  		return "", err
    25  	}
    26  	elem = append([]string{u.EscapedPath()}, elem...)
    27  	u.Path = path.Join(elem...)
    28  	return u.String(), nil
    29  }