| 1257 | } |
| 1258 | |
| 1259 | func setQueryParameterMap(queryParameterMap map[string]string, querySlice []string) map[string]string { |
| 1260 | for _, q := range querySlice { |
| 1261 | q = strings.TrimSuffix(q, "\r") |
| 1262 | q = strings.TrimSpace(q) |
| 1263 | if q == "" { |
| 1264 | continue |
| 1265 | } else if !strings.Contains(q, "=") { |
| 1266 | msg := fmt.Sprintf("Specified parameter %s doesn't contain a = and will be skipped\n", q) |
| 1267 | Print(msg, Yellow) |
| 1268 | continue |
| 1269 | } else { |
| 1270 | query := strings.SplitN(q, "=", 2) |
| 1271 | // ok is true, if a query already is set |
| 1272 | val, ok := queryParameterMap[query[0]] |
| 1273 | if ok { |
| 1274 | msg := fmt.Sprintf("Overwriting %s=%s with %s=%s\n", query[0], val, query[0], query[1]) |
| 1275 | Print(msg, NoColor) |
| 1276 | } |
| 1277 | queryParameterMap[query[0]] = query[1] |
| 1278 | } |
| 1279 | } |
| 1280 | |
| 1281 | return queryParameterMap |
| 1282 | } |
| 1283 | |
| 1284 | func addDomain(x string, domain string) string { |
| 1285 | if strings.HasPrefix(x, "#") || strings.HasPrefix(x, "mailto:") || strings.HasPrefix(x, "tel:") || strings.HasPrefix(x, "data:") || strings.HasPrefix(x, "javascript:") || (strings.Contains(x, "://") && !strings.HasPrefix(x, "http")) { // we only want http,https,// or relative |