Get a user object from the API. If no ``user_id`` or ``user_name``
        is specified, it will return the User object for the currently
        authenticated user.

        Args:
            user_id (int): User ID of the user for whom you want to get
                information. [Optional]
            user_name(str): Username for the user for whom you want to get
                information. [Optional]

        Returns:
            A User object.

def get_user(self, user_id=None, user_name=None):
        """ Get a user object from the API. If no ``user_id`` or ``user_name``
        is specified, it will return the User object for the currently
        authenticated user.

        Args:
            user_id (int): User ID of the user for whom you want to get
                information. [Optional]
            user_name(str): Username for the user for whom you want to get
                information. [Optional]

        Returns:
            A User object.
        """

        if user_id:
            endpoint = '/api/user_id/{0}'.format(user_id)
        elif user_name:
            endpoint = '/api/user_name/{0}'.format(user_name)
        else:
            # Return currently authorized user
            endpoint = '/api/user'

        data = self._make_request(verb="GET", endpoint=endpoint)

        try:
            return User.NewFromJSON(data)
        except:
            return data