Skip to content

Move <rpc-reply> unpacking to RPC client#215

Draft
Nothing4You wants to merge 1 commit intoczerwonk:mainfrom
Nothing4You:unpack-rpc-reply-on-transport
Draft

Move <rpc-reply> unpacking to RPC client#215
Nothing4You wants to merge 1 commit intoczerwonk:mainfrom
Nothing4You:unpack-rpc-reply-on-transport

Conversation

@Nothing4You
Copy link
Contributor

This makes it easier to implement alternative transports, such as netconf, which may already unpack <rpc-reply> on transport level before handing the contained response to the RPC client.

With https://github.com/nemith/netconf, we never see the <rpc-reply> element in the first place, only its contents are passed on.

This moves the unpacking logic to a central point and separates this change from the netconf implementation, which should result in smaller diffs to review.

Can you please tell me if you consider this a reasonable change?
If you do, I'll go ahead and convert the remaining places as well.

Comment on lines +75 to +82
var reply *rpcReply
err = xml.Unmarshal(b, &reply)

if err != nil {
return err
}

b = reply.Body
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this section would be completely skipped when using a netconf transport

@czerwonk
Copy link
Owner

czerwonk commented Jul 5, 2023

I quite like the idea. Also makes the existing code more readable due to less chaining. Please go ahead if you like. Happy to review and merge when done.

This makes it easier to implement alternative transports, such as netconf,
which may already unpack <rpc-reply> on transport level before handing the
contained response to the RPC client.
@Nothing4You Nothing4You force-pushed the unpack-rpc-reply-on-transport branch from 10dd026 to acca978 Compare July 8, 2023 21:53
@Sparc0
Copy link

Sparc0 commented Aug 30, 2023

Would really like to have netconf support added into the exporter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants