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 }