github.com/viant/toolbox@v0.34.5/uri_helper.go (about)

     1  package toolbox
     2  
     3  import (
     4  	"net/url"
     5  	"path"
     6  )
     7  
     8  //FileSchema file://
     9  var FileSchema = "file://"
    10  
    11  //Deprecated start using url.Resource
    12  
    13  //ExtractMimeType extracts mime type by extension
    14  func ExtractMimeType(file string) string {
    15  	extension := path.Ext(file)
    16  	if len(extension) > 1 {
    17  		extension = extension[1:]
    18  	}
    19  
    20  	if mimeType, ok := FileExtensionMimeType[extension]; ok {
    21  		return mimeType
    22  	}
    23  	return "text/plain"
    24  }
    25  
    26  //QueryIntValue returns query value for passed in url's name or default value
    27  func QueryIntValue(u *url.URL, name string, defaultValue int) int {
    28  	value := u.Query().Get(name)
    29  	if value == "" {
    30  		return defaultValue
    31  	}
    32  
    33  	result := AsInt(value)
    34  	if result != 0 {
    35  		return result
    36  	}
    37  	return defaultValue
    38  }
    39  
    40  //QueryBoolValue returns query value for passed in url's name or default value
    41  func QueryBoolValue(u *url.URL, name string, defaultValue bool) bool {
    42  	value := u.Query().Get(name)
    43  	if value == "" {
    44  		return defaultValue
    45  	}
    46  	return AsBoolean(value)
    47  }
    48  
    49  //QueryValue returns query value for passed in url's name or default value
    50  func QueryValue(u *url.URL, name, defaultValue string) string {
    51  	value := u.Query().Get(name)
    52  	if value == "" {
    53  		return defaultValue
    54  	}
    55  	return value
    56  }