pl: Moderne Altenative zu CGI.pm

Beitrag lesen

problematische Seite

hi

Was ist mit Parametern aus STDIN?

Die gibt es nicht. Das ist kein CGI.

Was du vermutlich meinst: was ist mit Parametern aus POST-Requests?

Parameter kann es unabhängig von der Requestmethode geben. Sie können an den URL angehängt sein und natürlich auch über Requestheader gesendet werden. Ob Daten aus STDIN zu lesen sind, darüber entscheidet die Angabe im Requestheader Content-Length.

CGI/1.1 beschreibt nur, wie diese Parameter nachgelagerten Prozessen zur Verfügung gestellt werden. Der Common Gateway ist STDIN/STDOUT.

Bei Phoenix gibt es da keinen Unterschied, das funktioniert genau wie bei GET.

Bei Rocket: im Prinzip genau so:

#[post("/", data = "<input>")]
fn new(input: T) -> String { ... }

Wobei T hier den FormData-Trait implementieren muss. Aber für Strukturen haben sie noch ein paar tolle Sachen eingebaut:

#[derive(FromForm)]
struct Task {
    complete: bool,
    description: String,
}

#[post("/todo", data = "<task>")]
fn new(task: Form<Task>) -> String { ... }

Übrigens funktioniert das sowohl bei Rocket als auch bei Phoenix auch mit JSON im Body.

Genau das ist die Transparenz die ich über mein Schichtenmodell erreiche. Damit werden die Enctypes untereinander austauschbar, ohne daß Anwendungscode geändert werden muss. Also ich kann z.B. den Enctype multipart/form-data gegen application/json austauschen oder den Enctype gar nicht definieren, dann gilt der Default.

Meinen Code organisiere ich übrigens auch in Traits, da ist mit Perl5 kein Thema.

MfG

0 94

Moderne Altenative zu CGI.pm

pl
  • perl
  1. 1
    Christian Kruse
    1. 0
      pl
      1. 1
        Christian Kruse
        1. 0
          pl
          1. 1
            Christian Kruse
          2. 1
            Matthias Apsel
            1. 0
              Tabellenkalk
          3. 3
            Patrick C.
            1. -2
              pl
              1. 1
                Christian Kruse
              2. 2
                Patrick C.
                1. 0
                  pl
                  1. 0
                    Patrick C.
                    1. 0
                      pl
                      1. 1
                        Christian Kruse
                      2. 0
                        Patrick C.
                      3. 0
                        Regina Schaukrug
              3. 4
                Camping_RIDER
  2. 0
    pl
  3. 2

    Moderne Altenative zu index.php

    plp
    1. -1
      pl
      1. 0
        Regina Schaukrug
        1. 0
          pl
          1. 0
            Regina Schaukrug
            1. 0
              pl
              1. 0
                Regina Schaukrug
                1. 0
                  Christian Kruse
                  1. 0
                    Regina Schaukrug
                    1. 0
                      Christian Kruse
                      1. 0
                        Regina Schaukrug
                        1. 0
                          Camping_RIDER
                          1. 0
                            Regina Schaukrug
                            • sonstiges
                            1. 0
                              Camping_RIDER
                              1. 0
                                Regina Schaukrug
                                1. 0
                                  Camping_RIDER
                                2. 0
                                  Camping_RIDER
                                  1. 0
                                    Regina Schaukrug
                                    1. 0
                                      Camping_RIDER
                                      1. 0
                                        Regina Schaukrug
                2. 0
                  pl
                  1. 0
                    Regina Schaukrug
                    1. 0
                      pl
                    2. 0
                      pl
                      1. 0
                        dedlfix
    2. 1
      Rolf B
  4. 0
    pl
  5. 0
    Felix Riesterer
    1. 0
      pl
      1. 0
        Patrick C.
        1. 0
          pl
          1. 0
            Patrick C.
      2. 0
        beatovich
      3. 0
        Felix Riesterer
        • meinung
        • perl
        • zur info
        1. 0
          pl
        2. 0

          Wie reden wir denn miteinander

          pl
          1. 2
            Christian Kruse
          2. 0
            pl
            1. 0
              Regina Schaukrug
            2. 0
              Christian Kruse
  6. 0
    Camping_RIDER
    1. 0
      pl
      1. 0
        Camping_RIDER
        1. 0
          pl
          1. 0
            Camping_RIDER
            1. 0
              pl
              1. 0
                Camping_RIDER
                1. 0
                  pl
                  1. 0
                    Camping_RIDER
                    1. 0
                      pl
                      • perl
                      • programmiertechnik
                      1. 0

                        Mehrwert und Transparenz

                        pl
                        1. 0
                          dedlfix
                          1. 0
                            pl
                          2. 0
                            pl
      2. 1
        Christian Kruse
        • programmiertechnik
        1. 0
          pl
          1. 0
            Christian Kruse
            1. 0
              pl
              1. 0
                Christian Kruse
                1. 0
                  pl
                  1. 0
                    Christian Kruse
                  2. 0
                    1unitedpower
                    1. 0
                      pl
                      1. 0
                        1unitedpower
                        1. 0
                          pl
                          1. 0
                            1unitedpower
                            1. 0
                              pl
                  3. 0
                    beatovich
                    1. 0
                      pl
            2. 0
              pl
              1. 0
                Matthias Apsel
                • menschelei
              2. 0
                Christian Kruse
      3. 0
        beatovich
        1. 0
          pl