Skip to content

Commit 028167b

Browse files
author
o.nadymov
committed
EscapeMessageBody for smsc.
1 parent 14783bd commit 028167b

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

src/Providers/Spoleto.SMS.Smsc/Providers/SmscProvider.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public override SmsSendingResult Send(SmsMessage message)
9999
// Validate:
100100
ValidateDataForSMS(phoneNumbers, smscMessage);
101101

102-
var result = send_sms(smscMessage.To, smscMessage.Body, sender: smscMessage.From);
102+
var result = send_sms(smscMessage.To, EscapeMessageBody(smscMessage.Body), sender: smscMessage.From);
103103

104104
return GetSmsSendingResult(result);
105105
}
@@ -120,7 +120,7 @@ public override async Task<SmsSendingResult> SendAsync(SmsMessage message, Cance
120120
// Validate:
121121
ValidateDataForSMS(phoneNumbers, smscMessage);
122122

123-
var result = await send_smsAsync(smscMessage.To, smscMessage.Body, sender: smscMessage.From).ConfigureAwait(false);
123+
var result = await send_smsAsync(smscMessage.To, EscapeMessageBody(smscMessage.Body), sender: smscMessage.From).ConfigureAwait(false);
124124

125125
return GetSmsSendingResult(result);
126126
}
@@ -357,5 +357,15 @@ private static SmsStatusData GetStatusData(string code)
357357
Text = $"Неизвестный статус. Свяжитесь с ИТ отделом. Код ошибки : {code}."
358358
},
359359
};
360+
361+
private static string EscapeMessageBody(string body)
362+
{
363+
if (body.Contains('+'))
364+
{
365+
return body.Replace("+", "%2B");
366+
}
367+
368+
return body;
369+
}
360370
}
361371
}

src/Tests/Spoleto.SMS.Tests/appsettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
},
2424

2525
"SmsMessageSmsc": {
26-
"Body": "Test SMS message. Тестовое сообщение.",
26+
"Body": "Test SMS message. Тестовое сообщение. +7800",
2727
"From": "Test SMS service",
2828
"To": "71234567890"
2929
},

0 commit comments

Comments
 (0)