Code Monkey home page Code Monkey logo

mimic-xmlrpc's Introduction

mimic-xmlrpc

rsync -aiv rsync://mimic-xmlrpc.cvs.sourceforge.net/cvsroot/mimic-xmlrpc/ mimic

Mimic (XML-RPC Client for JavaScript) v2.3 Copyright (C) 2005-2013 Carlos Eduardo Goncalves ([email protected])

Mimic is dual licensed under the MIT (http://opensource.org/licenses/mit-license.php) and GPLv3 (http://opensource.org/licenses/gpl-3.0.html) licenses.

usage

yarn add mimic-xmlrpc
npm i mimic-xmlrpc

Synchronous

The Sync code will now throw an INVALID_ACCESS_ERR in Chrome in version 80 : InvalidAccessError: Failed to execute 'open' on 'XMLHttpRequest': Synchronous

  import XmlRpcClient from 'mimic-xmlrpc'

  const method = 'node.ping'
  let request = new XmlRpcClient('https://172.28.128.3:58086/noderpc2/', method)
  request.crossDomain = true

  request.addParam(23)
  request.addParam('222')
  request.addParam([15, 25, 35, 45])

  let response = request.send()
  console.log(response)
  console.log(response.parseXML())

Asynchronous (Need to set timeout)

  import XmlRpcClient from 'mimic-xmlrpc'

  const method = 'rpc.node_version'
  let request = new XmlRpcClient('http://172.28.128.3:26821/RPC2', method)
  request.crossDomain = true // --disable-web-security

  request.setTimeout(5000) // ms
  request.ontimeout = function (e) {
    console.log(e, 'timeout')
  }
  request.callback = function (response) {
    console.log(response)
    console.log(response.parseXML())
  }

  request.addParam(23)
  request.addParam('222')
  request.addParam([15, 25, 35, 45])
  request.send()

mimic-xmlrpc's People

Contributors

ganl avatar

Watchers

 avatar

mimic-xmlrpc's Issues

parseXML does not conform to the XML-RPC Specification

According to the XML-RPC Specification, if Scalar s no type is indicated, the default type is string.
Some servers omit to set the scalar type, and in this case mimic fails to materialize a valid js object.

The solution is to set the default value in the "unmarshal" function by setting:
defaults:
this.params[this.params.length] = new String(node.nodeValue);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.