Skip to content

Commit 82cfaee

Browse files
committed
Refactor message handling to ensure UTF-8 decoding.
Decoded messages to UTF-8 strings before sending to IBM MQ. Updated all relevant message-sending paths to use the decoded `message_str` for consistency and error prevention.
1 parent 38fec31 commit 82cfaee

File tree

4 files changed

+7
-1
lines changed

4 files changed

+7
-1
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ data:
124124
# when sender_mode is custom, you can set the following parameters
125125
#message_format: MQHRF2
126126
#message_ccsid: 1208
127+
log_sent_messages: true
127128
poll_interval_ms: 100
128129
- name: ibm_to_kubemq
129130
type: ibm_mq_to_kubemq
@@ -139,6 +140,7 @@ data:
139140
receiver_mode: default
140141
# enable logging received messages
141142
log_received_messages: true
143+
log_sent_messages: true
142144
poll_interval_ms: 100
143145
target:
144146
address: kubemq-cluster-grpc:50000

Taskfile.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
version: '3'
44

55
vars:
6-
VERSION: v0.5.0
6+
VERSION: v0.6.0
77
IMAGE_NAME: europe-docker.pkg.dev/kubemq/images/ibm-mq-connector
88

99
tasks:

src/ibm_mq/client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,10 @@ async def send_message(self, message: bytes):
176176
if not self.is_connected:
177177
self.logger.error("Not connected to IBM MQ")
178178
raise IBMMQConnectionError("Not connected to IBM MQ")
179+
179180
message_str = message.decode("utf-8")
181+
if self.config.log_sent_messages:
182+
self.logger.info(f"Sending message: {message_str}")
180183

181184
async def _send_message():
182185
try:

src/ibm_mq/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class Config(BaseModel):
2020
log_received_messages: bool = Field(
2121
default=False, description="Log received messages"
2222
)
23+
log_sent_messages: bool = Field(default=False, description="Log sent messages")
2324
sender_mode: Optional[str] = Field("default", description="Sender mode")
2425
poll_interval_ms: int = Field(
2526
default=100, ge=1, description="Poll interval in milliseconds"

0 commit comments

Comments
 (0)