**Description**

As documented in the [HttpSensor](https://airflow.apache.org/docs/apache-airflow-providers-http/stable/_modules/airflow/providers/http/sensors/http.html) if the response for the HTTP call is an error different from "404" the task will Fail.
>HTTP Error codes other than 404 (like 403) or Connection Refused Error
> would fail the sensor itself directly (no more poking).

The code block that apply this behavior:
```
    except AirflowException as exc:
            if str(exc).startswith("404"):
                return False

            raise exc
```

**Use case / motivation**

I am working with an API that returns 500 for any error that happens internally (unauthorized, Not Acceptable, etc) and need the sensor be able to continue poking even the response is different from 404.

Another case's an API that sometimes returns 429 and makes the task fail. (Could solve with a large interval)

The first API has a bad design, but since we need to consume some services like this, I would like to have more flexibility when working with HttpSensor


**What do you want to happen**

When creating a HttpSensor task, I would like to be able to pass a list of status codes that will make the Sensor return "False" if the HTTP status code in the response match one code of the list to make the Sensor continue poking.

If no status code is set, the default to return False and continue poking will be 404 like is now.

**Are you willing to submit a PR?**
Yep!
airflow/providers/http/sensors/http.py
# In practice you would do something more sensible with this data..
            print(xcom_data)
            return True
        HttpSensor(task_id='my_http_sensor', ..., response_check=response_check)
    .. seealso::
        For more information on how to use this operator, take a look at the guide:
        :ref:`howto/operator:HttpSensor`
    :param http_conn_id: The connection to run the sensor against
    :type http_conn_id: str
    :param method: The HTTP request method to use
    :type method: str
    :param endpoint: The relative part of the full url
    :type endpoint: str
    :param request_params: The parameters to be added to the GET url
    :type request_params: a dictionary of string key/value pairs
    :param headers: The HTTP headers to be added to the GET request
    :type headers: a dictionary of string key/value pairs
    :param response_check: A check against the 'requests' response object.
        The callable takes the response object as the first positional argument
        and optionally any number of keyword arguments available in the context dictionary.
        It should return True for 'pass' and False otherwise.
    :type response_check: A lambda or defined function.
    :param extra_options: Extra options for the 'requests' library, see the
        'requests' documentation (options to modify timeout, ssl, etc.)
    :type extra_options: A dictionary of options, where key is string and value
        depends on the option that's being modified.
    """
    template_fields = ('endpoint', 'request_params', 'headers')
    @apply_defaults
    def __init__(