Extract the provider, connection parameters, username and password from string
.
in string
, the various parts are strings which are expected to be encoded using an RFC 1738 compliant encoding. If they are
specified, the returned provider, username and password strings are correctly decoded.
For example all the following connection strings:
PostgreSQL://meme:pass@DB_NAME=mydb;HOST=server
PostgreSQL://meme@DB_NAME=mydb;HOST=server;PASSWORD=pass
PostgreSQL://meme@DB_NAME=mydb;PASSWORD=pass;HOST=server
PostgreSQL://meme@PASSWORD=pass;DB_NAME=mydb;HOST=server
PostgreSQL://DB_NAME=mydb;HOST=server;USERNAME=meme;PASSWORD=pass
PostgreSQL://DB_NAME=mydb;HOST=server;PASSWORD=pass;USERNAME=meme
PostgreSQL://DB_NAME=mydb;USERNAME=meme;PASSWORD=pass;HOST=server
PostgreSQL://PASSWORD=pass;USERNAME=meme;DB_NAME=mydb;HOST=server
PostgreSQL://:pass@USERNAME=meme;DB_NAME=mydb;HOST=server
PostgreSQL://:pass@DB_NAME=mydb;HOST=server;USERNAME=meme
will return the following new strings (double quotes added here to delimit strings):
out_cnc_params: "DB_NAME=mydb;HOST=server"
out_provider: "PostgreSQL"
out_username: "meme"
out_password: "pass"
string |
a string in the "[<provider>://][<username>[:<password>]@]<connection_params>" form |
out_cnc_params |
a place to store the new string containing the <connection_params> part |
out_provider |
a place to store the new string containing the <provider> part |
out_username |
a place to store the new string containing the <username> part |
out_password |
a place to store the new string containing the <password> part, or |