##### SUMMARY
uri module set string with masked content into content and json output

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
uri

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.0
  config file = None
  configured module search path = ['/Users/hungluong/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/hungluong/Library/Python/3.7/lib/python/site-packages/ansible
  executable location = /Users/hungluong/Library/Python/3.7/bin/ansible
  python version = 3.7.6 (default, Dec 30 2019, 19:38:26) [Clang 11.0.0 (clang-1100.0.33.16)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
N/A
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
- hosts: localhost
  connection: local
  tasks:
    - name: send request
      uri:
        url: "https://postman-echo.com/get?name=something-with-admin"
        user: admin
        password: admin
        method: GET
        force_basic_auth: yes
        return_content: yes
        status_code: 200
      register: response
    
    - name: extract value
      vars:
        query: args.name
      set_fact:
        value_content: "{{ response.content }}"
        value_content_parsed: "{{ response.content | from_json | json_query(query) }}"
        value_json: "{{ response.json.args.name }}"

    - name: debug
      debug:
        msg:
          - "{{ 'something-with-admin' in value_json }}"
          - "{{ 'something-with-admin' in value_content }}"
          - "{{ 'something-with-admin' in value_content_parsed }}"
          - "{{ 'something-with-********' in value_json }}"
          - "{{ 'something-with-********' in value_content }}"
          - "{{ 'something-with-********' in value_content_parsed }}"
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
The module should return the json/content value with the correct values


##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
The module seems to apply sensitive info masking ('********') to value matching username/password in its output

<!--- Paste verbatim command output between quotes -->
```paste below
"msg": [
        false,
        false,
        false,
        true,
        false,
        true
    ]
```

expand_user_and_vars=True, pass_fds=None, before_communicate_callback=None):
        '''
        Execute a command, returns rc, stdout, and stderr.
        :arg args: is the command to run
            * If args is a list, the command will be run with shell=False.
            * If args is a string and use_unsafe_shell=False it will split args to a list and run with shell=False
            * If args is a string and use_unsafe_shell=True it runs with shell=True.
        :kw check_rc: Whether to call fail_json in case of non zero RC.
            Default False
        :kw close_fds: See documentation for subprocess.Popen(). Default True
        :kw executable: See documentation for subprocess.Popen(). Default None
        :kw data: If given, information to write to the stdin of the command
        :kw binary_data: If False, append a newline to the data.  Default False
        :kw path_prefix: If given, additional path to find the command in.
            This adds to the PATH environment variable so helper commands in
            the same directory can also be found
        :kw cwd: If given, working directory to run the command inside
        :kw use_unsafe_shell: See `args` parameter.  Default False
        :kw prompt_regex: Regex string (not a compiled regex) which can be
            used to detect prompts in the stdout which would otherwise cause
            the execution to hang (especially if no input data is specified)
        :kw environ_update: dictionary to *update* os.environ with
        :kw umask: Umask to be used when running the command. Default None
        :kw encoding: Since we return native strings, on python3 we need to
            know the encoding to use to transform from bytes to text.  If you
            want to always get bytes back, use encoding=None.  The default is
            "utf-8".  This does not affect transformation of strings given as
            args.
        :kw errors: Since we return native strings, on python3 we need to
            transform stdout and stderr from bytes to text.  If the bytes are