code: function createClient(options) {
  
      var client;
      var opts = normalizeOptions(options);
  
      opts.agent = options.agent;
      opts.name = opts.name || 'restify';
      opts.type = opts.type || 'application/octet-stream';
      opts.log = opts.log || bunyan.createLogger(opts.name);
  
      switch (opts.type) {
          case 'json':
              client = new JsonClient(opts);
              break;
  
          case 'string':
              client = new StringClient(opts);
              break;
  
          case 'http':
          default:
              client = new HttpClient(opts);
              break;
      }
  
      return client;
  }
docs: creates an http request client. based on options passed in, will create one
  of three existing clients: Http, String, or Json.
  @public
  @function createClient
  @param    {Object} options      an options object
  @param    {String} options.type 'http' | 'json' | 'string'
  @returns  {HttpClient | JsonClient | StringClient}