Graylog2 / Graylog2/graylog2-server

Custom HTTP Notification appends charset=utf-8 to application/x-www-form-urlencoded causing incompatible requests

Open
#26,653 2 comments 0 reactions 0 assignees View on GitHub
bug triaged
Dominant language
Java
Stars
8.1k
Forks
1.1k
Avg merge
1d 20h
Merged PRs (30d)
217

Description

### Environment

- Graylog: 6.0.12
- Notification type: Custom HTTP Notification

### Problem

Custom HTTP Notification always sends

```
Content-Type: application/x-www-form-urlencoded; charset=utf-8
```

instead of

```
Content-Type: application/x-www-form-urlencoded
```

The `charset=utf-8` cannot be removed or overridden.

### Target API

VK Teams Bot API

Endpoint:

```
https://myteam.mail.ru/bot/v1/messages/sendText
```

### Expected behavior

Graylog should send

```
Content-Type: application/x-www-form-urlencoded
```

without automatically appending charset.

### Actual behavior

Graylog sends

```
Content-Type: application/x-www-form-urlencoded; charset=utf-8
```

The request reaches the server, but VK Teams rejects or ignores it.

### Verification

The same request works correctly from:

- curl
- Postman

Example:

```
curl -X POST \
https://myteam.mail.ru/bot/v1/messages/sendText \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "token=..." \
--data-urlencode "chatId=..." \
--data-urlencode "text=test"
```

If

```
charset=utf-8
```

is added to Content-Type, the request no longer works.

This was verified using:

- curl
- Postman
- Webhook.site

Webhook.site confirms that Graylog correctly sends:

- POST
- x-www-form-urlencoded
- correct request body

The only visible difference is the automatically appended charset.

### Additional information

The Headers field cannot override the generated Content-Type header.

Contributor guide

Open the contributing guide

Research direction

Start at the Custom HTTP Notification implementation and trace where its form request builds the Content-Type header. Reproduce the request against the VK Teams endpoint or Webhook.site, then verify that the completed request uses application/x-www-form-urlencoded without charset=utf-8 and that the Headers field behavior remains understood.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.