Skip to content

Instantly share code, notes, and snippets.

@dmytro-ndp
Last active March 26, 2016 07:34
Show Gist options
  • Select an option

  • Save dmytro-ndp/be94d4e490c2aca8b207 to your computer and use it in GitHub Desktop.

Select an option

Save dmytro-ndp/be94d4e490c2aca8b207 to your computer and use it in GitHub Desktop.
extractProxySettings() {
local proxyUrl=$1
local proxyType=$2
local PROXY_WITH_USER_AUTH_REGEXP="https?://([^:]*):?(.*)@([^:]*):?(.*)"
local PROXY_WITHOUT_USER_AUTH_REGEXP="https?://([^:]*):?(.*)"
if [ -n "$proxyUrl" ]; then
local proxyUserName
local proxyPassword
local proxyHost
local proxyPort
if [[ $proxyUrl =~ $PROXY_WITH_USER_AUTH_REGEXP ]]; then
proxyUser=$([[ $proxyUrl =~ $PROXY_WITH_USER_AUTH_REGEXP ]] && echo ${BASH_REMATCH[1]})
proxyPassword=$([[ $proxyUrl =~ $PROXY_WITH_USER_AUTH_REGEXP ]] && echo ${BASH_REMATCH[2]})
proxyHost=$([[ $proxyUrl =~ $PROXY_WITH_USER_AUTH_REGEXP ]] && echo ${BASH_REMATCH[3]})
proxyPort=$([[ $proxyUrl =~ $PROXY_WITH_USER_AUTH_REGEXP ]] && echo ${BASH_REMATCH[4]})
elif [[ $proxyUrl =~ $PROXY_WITHOUT_USER_AUTH_REGEXP ]]; then
proxyHost=$([[ $proxyUrl =~ $PROXY_WITHOUT_USER_AUTH_REGEXP ]] && echo ${BASH_REMATCH[1]})
proxyPort=$([[ $proxyUrl =~ $PROXY_WITHOUT_USER_AUTH_REGEXP ]] && echo ${BASH_REMATCH[2]})
fi
if [[ $proxyUser != "" ]]; then
PROXY_OPTS="$PROXY_OPTS -D$proxyType.proxyUser=$proxyUser"
fi
if [[ $proxyPassword != "" ]]; then
PROXY_OPTS="$PROXY_OPTS -D$proxyType.proxyPassword=$proxyPassword"
fi
if [[ $proxyHost != "" ]]; then
PROXY_OPTS="$PROXY_OPTS -D$proxyType.proxyHost=$proxyHost"
fi
if [[ $proxyPort != "" ]]; then
PROXY_OPTS="$PROXY_OPTS -D$proxyType.proxyPort=$proxyPort"
fi
fi
}
extractProxySettings $1 $2
echo $PROXY_OPTS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment