Skip to content

Latest commit

 

History

History
38 lines (29 loc) · 1.29 KB

notes.org

File metadata and controls

38 lines (29 loc) · 1.29 KB

Pathway taken by xml-rpc call involving base64

in Client.hs:

  • remote
    • remote_: collects up arguments + converts them all to Value using toValue. In the case of an explicit ValueBase64 constructor this does nothing.
      • call: packages up method and args into MethodCall and calls
  • doCall
    • renders MethodCall with ‘renderCall’, resulting in a lazy bytestring req, which is given to ‘post’.
  • handleResponse

    in Internals.hs:

    • renderCall
      • toXRMethodCall: transform MethodCall into type auto-generated by HaXml? Mostly just wrapper except for toXRParams
        • toXRParams: map
  • toXRValue: this actually does constructor-by-constructor translation, taking typed things into all strings. In the case of ValueBase64 it calls
    • showBase64: actually does base64 encoding.
  • showXml’

Upgrading to support HTTPS

Need to edit Network.XmlRpc.Client. See http-client and http-client-tls packages. See http://hackage.haskell.org/package/http-types for common types.

OR maybe http://hackage.haskell.org/package/http-streams will be better. Looks simple and like it will support just what I need.

See byorgey/BlogLiterately#16 and byorgey#4