send(body) {

    this._body = body

    if(this._readyState !== XMLHttpRequest.OPENED)
      throw 'InvalidStateError : XMLHttpRequest is not opened yet.'
    let promise = Promise.resolve()
    this._sendFlag = true
    log.verbose('XMLHttpRequest send ', body)
    let {_method, _url, _headers } = this
    log.verbose('sending request with args', _method, _url, _headers, body)
    log.verbose(typeof body, body instanceof FormData)

    if(body instanceof Blob) {
      log.debug('sending blob body', body._blobCreated)
      promise = new Promise((resolve, reject) => {
          body.onCreated((blob) => {
            // when the blob is derived (not created by RN developer), the blob
            // will be released after XMLHttpRequest sent
            if(blob.isDerived) {
              this._cleanUp = () => {
                blob.close()
              }
            }
            log.debug('body created send request')
            body = RNFetchBlob.wrap(blob.getRNFetchBlobRef())
            resolve()
          })
        })
    }
    else if(typeof body === 'object') {
      body = JSON.stringify(body)
      promise = Promise.resolve()
    }
    else {
      body = body ? body.toString() : body
      promise = Promise.resolve()
    }

    promise.then(() => {
      log.debug('send request invoke', body)
      for(let h in _headers) {
        _headers[h] = _headers[h].toString()
      }

      this._task = RNFetchBlob
                    .config({
                      auto: true,
                      timeout : this._timeout,
                      increment : this._increment,
                      binaryContentTypes : XMLHttpRequest.binaryContentTypes
                    })
                    .fetch(_method, _url, _headers, body)
      this._task
          .stateChange(this._headerReceived)
          .uploadProgress(this._uploadProgressEvent)
          .progress(this._progressEvent)
          .catch(this._onError)
          .then(this._onDone)

    })
  }
Invoke this function to send HTTP request, and set body.
@param  {any} body Body in RNfetchblob flavor