so i'm working on web api roku channel interact send , receive data. roku sdk has built in xml parser easy use, problem roku parse xml wrapped in <rsp stat="ok"></rsp> element. don't see how or override xml output on web api wrap <rsp> element.
so question is, how can override xml formatter , insert <rsp stat="ok"> before output, , </rsp> after?
if ensuring return xml removing json formatter this
config.formatters.remove(config.formatters.jsonformatter); you can use message handler add envelope blindly responses this.
public class myhandler : delegatinghandler { protected override async task<httpresponsemessage> sendasync( httprequestmessage request, cancellationtoken cancellationtoken) { var response = await base.sendasync(request, cancellationtoken); string responsebody = "<rsp stat=\"ok\">" + await response.content.readasstringasync() + "</rsp>"; response.content = new stringcontent( responsebody, encoding.utf8, "application/xml"); return response; } }
Comments
Post a Comment