openleadr-python
openleadr-python copied to clipboard
Reading the XML messages in a VEN
Hello,
I'm trying to get the actual raw XML messages received (and sent) by a VEN, e.g. the events. I would like to save them somewhere for logging and debugging purposes. It looks like they are parsed and mapped in the client just as they are received, and I cannot access them in any way.
I've seen this old bug about hooks, but it seems it's only implemented in the VTN, not in the VEN. I also tried something with middlewares and hooks in aiohttp, but with no success. I'm quite inexperienced with python, so maybe I'm doing something wrong.
So, the question is, barring copying the whole openleadr locally and implementing what I need (which is obviously not ideal), is there any way of getting the messages before parsing in a VEN?
Thanks in advance.
The XML messages are logged at the 'debug' level, which you can use to inspect the message.
I can look into adding a possible hook in the client that will allow you to add a handler before schema validation and parsing.
I've added a simple hooks infrastructure where you'll get the raw XML messages delivered to a handler that you can register. See the documentation for more info. Let me know if this is helpful.
@juantxorena; did you get a chance to try this addition to OpenLEADR?