Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e8dd0687

Von Moritz Bunkus vor etwa 3 Jahren hinzugefügt

  • ID e8dd0687cd23ee059c9dc49cf8b9495476b9d927
  • Vorgänger cd07875b
  • Nachfolger 2278a139

kivi.js: Helfsfunktion zum Formatieren eines JS-Calls als CURL-Aufruf

Nützlich, wenn man mehrfach von der Kommandozeile aus eine
Controller-Funktion aufrufen will, ohne jedes Mal zur Maus greifen zu
müssen. Aufruf grob so:

var data = $('#form').serializeArray();
data.push({ name: 'action', value: 'Order/frobnicate' });
console.log(kivi.call_as_curl({ data: data }));

Unterschiede anzeigen:

js/kivi.js
676 676
    $input.prop('selectionStart', position);
677 677
    $input.prop('selectionEnd',   position);
678 678
  };
679

  
680
  ns._shell_escape = function(str) {
681
    if (str.match(/^[a-zA-Z0-9.,_=+/-]+$/))
682
      return str;
683

  
684
    return "'" + str.replace(/'/, "'\\''") + "'";
685
  };
686

  
687
  ns.call_as_curl = function(params) {
688
    params      = params || {};
689
    var uri     = document.documentURI.replace(/\?.*/, '');
690
    var command = ['curl', '--user', kivi.myconfig.login + ':SECRET', '--request', params.method || 'POST']
691

  
692
    $(params.data || []).each(function(idx, elt) {
693
      command = command.concat([ '--form-string', elt.name + '=' + (elt.value || '') ]);
694
    });
695

  
696
    command.push(uri);
697

  
698
    return $.map(command, function(elt, idx) {
699
      return kivi._shell_escape(elt);
700
    }).join(' ');
701
  };
679 702
});
680 703

  
681 704
kivi = namespace('kivi');

Auch abrufbar als: Unified diff