55using System ;
66using System . IO ;
77using System . Net ;
8- using System . Net . Http ;
98using System . Threading . Tasks ;
109using System . Xml ;
1110using System . Xml . Linq ;
@@ -17,6 +16,7 @@ public class GatewayReceiver
1716 public delegate Task MoReceiver ( MoMessage message ) ;
1817 public delegate Task DrReceiver ( DrMessage message ) ;
1918
19+ private const string XmlOkResponse = "<?xml version=\" 1.0\" ?><MSGLST><MSG><ID>1</ID><STATUS>OK</STATUS></MSG></MSGLST>" ;
2020 private readonly MoReceiver moReceiver ;
2121 private readonly DrReceiver drReceiver ;
2222
@@ -31,7 +31,7 @@ public async Task ReceiveMobileOriginatedMessageAsync(HttpContext context)
3131 var body = await new StreamReader ( context . Request . Body ) . ReadToEndAsync ( ) ;
3232 var result = await ReceiveMobileOriginatedMessageAsync ( body ) ;
3333 context . Response . StatusCode = ( int ) result . status ;
34- await new StreamWriter ( context . Response . Body ) . WriteAsync ( result . responseBody ) ;
34+ await HttpResponseWritingExtensions . WriteAsync ( context . Response , result . responseBody ) ;
3535 }
3636
3737 public async Task < ( HttpStatusCode status , string responseBody ) > ReceiveMobileOriginatedMessageAsync ( string requestBody )
@@ -46,7 +46,7 @@ public async Task ReceiveMobileOriginatedMessageAsync(HttpContext context)
4646 {
4747 var momessage = MoParser . Parse ( document ) ;
4848 await moReceiver . Invoke ( momessage ) ;
49- return ( HttpStatusCode . OK , string . Empty ) ;
49+ return ( HttpStatusCode . OK , XmlOkResponse ) ;
5050 }
5151 catch ( MoParserException ex )
5252 {
@@ -63,7 +63,7 @@ public async Task ReceiveDeliveryReportAsync(HttpContext context)
6363 var body = await new StreamReader ( context . Request . Body ) . ReadToEndAsync ( ) ;
6464 var result = await ReceiveDeliveryReportAsync ( body ) ;
6565 context . Response . StatusCode = ( int ) result . status ;
66- await new StreamWriter ( context . Response . Body ) . WriteAsync ( result . responseBody ) ;
66+ await HttpResponseWritingExtensions . WriteAsync ( context . Response , result . responseBody ) ;
6767 }
6868
6969 public async Task < ( HttpStatusCode status , string responseBody ) > ReceiveDeliveryReportAsync ( string requestBody )
@@ -78,7 +78,7 @@ public async Task ReceiveDeliveryReportAsync(HttpContext context)
7878 {
7979 var drmessage = DrParser . Parse ( document ) ;
8080 await drReceiver . Invoke ( drmessage ) ;
81- return ( HttpStatusCode . OK , string . Empty ) ;
81+ return ( HttpStatusCode . OK , XmlOkResponse ) ;
8282 }
8383 catch ( DrParserException ex )
8484 {
0 commit comments