1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# See LICENSE.txt included in this distribution for the specific 9# language governing permissions and limitations under the License. 10# 11# When distributing Covered Code, include this CDDL HEADER in each 12# file and include the License file at LICENSE.txt. 13# If applicable, add the following below this CDDL HEADER, with the 14# fields enclosed by brackets "[]" replaced with your own identifying 15# information: Portions Copyright [yyyy] [name of copyright owner] 16# 17# CDDL HEADER END 18# 19 20# 21# Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 22# 23 24from urllib.parse import urlparse 25 26 27def get_uri(*uri_parts): 28 return '/'.join(s.strip('/') for s in uri_parts) 29 30 31def is_localhost_url(url): 32 """ 33 Check if given URL is based on localhost. 34 """ 35 36 o = urlparse(url) 37 return o.hostname in ['localhost', '127.0.0.1', '::1'] 38 39 40def get_proxies(url): 41 """ 42 For localhost based requests it is undesirable to use proxies. 43 """ 44 if is_localhost_url(url): 45 return {'http': None, 'https': None} 46 else: 47 return None 48 49 50def is_web_uri(url): 51 """ 52 Check if given string is web URL. 53 """ 54 o = urlparse(url) 55 return o.scheme in ['http', 'https'] 56