> You have to provide the following information whenever possible.

Batches started with `0xEFBBBF` cannot be inserted in the `RowBinary` format using HTTP.

> A clear and concise description of what works not as it is supposed to.

**Does it reproduce on recent release?**

On the latest available on the docker hub, `22.1.3 revision 54455`.

**How to reproduce**

1. Create a table:
```sql
CREATE TABLE some(no UInt64) ENGINE = MergeTree ORDER BY no;
```

2. Write `1653178571234567890`:
```
echo -en '\xd2\x66\xb9\xd0\x26\x45\xf1\x16' | curl -v --data-binary @- 'http://127.0.0.1:8123/?query=INSERT%20INTO%20some(no)%20FORMAT%20RowBinary'
```
```
*   Trying 127.0.0.1:8123...
* Connected to 127.0.0.1 (127.0.0.1) port 8123 (#0)
> POST /?query=INSERT%20INTO%20some(no)%20FORMAT%20RowBinary HTTP/1.1
> Host: 127.0.0.1:8123
> User-Agent: curl/7.83.0
> Accept: */*
> Content-Length: 8
> Content-Type: application/x-www-form-urlencoded
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Sun, 22 May 2022 00:53:08 GMT
< Connection: Keep-Alive
< Content-Type: text/plain; charset=UTF-8
< X-ClickHouse-Server-Display-Name: 4f17bcf5935b
< Transfer-Encoding: chunked
< Keep-Alive: timeout=3
< X-ClickHouse-Summary: {"read_rows":"0","read_bytes":"0","written_rows":"0","written_bytes":"0","total_rows_to_read":"0"}
<
* Connection #0 to host 127.0.0.1 left intact
```

Works fine.

3. Write `1651760768976141295` (actually, any number started with `0xEFBBBF`):
```
echo -en '\xef\xbb\xbf\x00\xab\x3b\xec\x16' | curl -v --data-binary @- 'http://127.0.0.1:8123/?query=INSERT%20INTO%20some(no)%20FORMAT%20RowBinary'
```
```
*   Trying 127.0.0.1:8123...
* Connected to 127.0.0.1 (127.0.0.1) port 8123 (#0)
> POST /?query=INSERT%20INTO%20some(no)%20FORMAT%20RowBinary HTTP/1.1
> Host: 127.0.0.1:8123
> User-Agent: curl/7.83.0
> Accept: */*
> Content-Length: 8
> Content-Type: application/x-www-form-urlencoded
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
< Date: Sun, 22 May 2022 00:54:26 GMT
< Connection: Keep-Alive
< Content-Type: text/plain; charset=UTF-8
< X-ClickHouse-Server-Display-Name: 4f17bcf5935b
< Transfer-Encoding: chunked
< X-ClickHouse-Exception-Code: 33
< Keep-Alive: timeout=3
< X-ClickHouse-Summary: {"read_rows":"0","read_bytes":"0","written_rows":"0","written_bytes":"0","total_rows_to_read":"0"}
<
Code: 33. DB::Exception: Cannot read all data. Bytes read: 5. Bytes expected: 8.: (at row 1)
: While executing BinaryRowInputFormat. (CANNOT_READ_ALL_DATA) (version 22.1.3.7 (official build))
* Connection #0 to host 127.0.0.1 left intact
```
{
    if (!in.eof() && (in.position()[0] == '\r' || (in.position() != in.buffer().begin() && in.position()[-1] == '\r')))
        throw Exception("\nYou have carriage return (\\r, 0x0D, ASCII 13) at end of first row."
            "\nIt's like your input data has DOS/Windows style line separators, that are illegal in TabSeparated format."
            " You must transform your file to Unix format."
            "\nBut if you really need carriage return at end of string value of last column, you need to escape it as \\r.",
            ErrorCodes::INCORRECT_DATA);
}
TabSeparatedRowInputFormat::TabSeparatedRowInputFormat(
    const Block & header_,
    ReadBuffer & in_,
    const Params & params_,
    bool with_names_,
    bool with_types_,
    bool is_raw_,
    const FormatSettings & format_settings_)
    : RowInputFormatWithNamesAndTypes(header_, in_, params_, with_names_, with_types_, format_settings_, std::make_unique<TabSeparatedFormatReader>(in_, format_settings_, is_raw_))
{
}
TabSeparatedFormatReader::TabSeparatedFormatReader(ReadBuffer & in_, const FormatSettings & format_settings_, bool is_raw_)