sinatra 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sinatra might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/AUTHORS.md +1 -0
- data/CHANGELOG.md +258 -37
- data/CONTRIBUTING.md +7 -7
- data/Gemfile +15 -6
- data/MAINTENANCE.md +2 -15
- data/README.de.md +22 -22
- data/README.es.md +772 -362
- data/README.fr.md +188 -91
- data/README.hu.md +3 -3
- data/README.ja.md +84 -54
- data/README.ko.md +7 -7
- data/README.malayalam.md +3141 -0
- data/README.md +165 -113
- data/README.pt-br.md +2366 -339
- data/README.pt-pt.md +3 -3
- data/README.ru.md +835 -564
- data/README.zh.md +83 -21
- data/Rakefile +10 -7
- data/VERSION +1 -0
- data/examples/chat.rb +2 -1
- data/examples/rainbows.conf +3 -0
- data/examples/rainbows.rb +20 -0
- data/examples/stream.ru +4 -4
- data/lib/sinatra/base.rb +160 -123
- data/lib/sinatra/indifferent_hash.rb +79 -15
- data/lib/sinatra/main.rb +30 -11
- data/lib/sinatra/show_exceptions.rb +8 -11
- data/lib/sinatra/version.rb +1 -1
- data/sinatra.gemspec +25 -7
- metadata +20 -22
data/README.de.md
CHANGED
@@ -35,7 +35,7 @@ ruby myapp.rb
|
|
35
35
|
Die Seite kann nun unter [http://localhost:4567](http://localhost:4567)
|
36
36
|
aufgerufen werden.
|
37
37
|
|
38
|
-
Es wird empfohlen `gem
|
38
|
+
Es wird empfohlen `gem install thin` auszuführen, Sinatra wird dann
|
39
39
|
diesen Server verwenden.
|
40
40
|
|
41
41
|
## Inhalt
|
@@ -357,13 +357,13 @@ auch andere Werte akzeptiert.
|
|
357
357
|
Es kann jedes gültige Objekt zurückgegeben werden, bei dem es sich entweder um
|
358
358
|
einen Rack-Rückgabewert, einen Rack-Body oder einen HTTP-Status-Code handelt:
|
359
359
|
|
360
|
-
* Ein Array mit drei Elementen: `[Status (
|
360
|
+
* Ein Array mit drei Elementen: `[Status (Integer), Headers (Hash),
|
361
361
|
Response-Body (antwortet auf #each)]`.
|
362
|
-
* Ein Array mit zwei Elementen: `[Status (
|
362
|
+
* Ein Array mit zwei Elementen: `[Status (Integer), Response-Body (antwortet
|
363
363
|
auf #each)]`.
|
364
364
|
* Ein Objekt, das auf `#each` antwortet und den an diese Methode übergebenen
|
365
|
-
Block nur mit Strings als
|
366
|
-
* Ein
|
365
|
+
Block nur mit Strings als Übergabewerten aufruft.
|
366
|
+
* Ein Integer, das den Status-Code festlegt.
|
367
367
|
|
368
368
|
Damit lässt sich relativ einfach Streaming implementieren:
|
369
369
|
|
@@ -434,7 +434,7 @@ Statische Dateien werden im `./public`-Ordner erwartet. Es ist möglich,
|
|
434
434
|
einen anderen Ort zu definieren, indem man die `:public_folder`-Option setzt:
|
435
435
|
|
436
436
|
```ruby
|
437
|
-
set :public_folder,
|
437
|
+
set :public_folder, __dir__ + '/static'
|
438
438
|
```
|
439
439
|
|
440
440
|
Zu beachten ist, dass der Ordnername `public` nicht Teil der URL ist.
|
@@ -467,7 +467,7 @@ get '/' do
|
|
467
467
|
end
|
468
468
|
```
|
469
469
|
|
470
|
-
Templates nehmen ein
|
470
|
+
Templates nehmen ein zweites Argument an, den Options-Hash:
|
471
471
|
|
472
472
|
```ruby
|
473
473
|
get '/' do
|
@@ -728,7 +728,7 @@ Nimmt ebenso einen Block für Inline-Templates entgegen (siehe Beispiel).
|
|
728
728
|
<table>
|
729
729
|
<tr>
|
730
730
|
<td>Abhängigkeit</td>
|
731
|
-
<td><a href="
|
731
|
+
<td><a href="https://shopify.github.io/liquid/">liquid</a></td>
|
732
732
|
</tr>
|
733
733
|
<tr>
|
734
734
|
<td>Dateierweiterung</td>
|
@@ -752,7 +752,7 @@ denen man Variablen weitergibt.
|
|
752
752
|
<td>Eine der folgenden Bibliotheken:
|
753
753
|
<a href="https://github.com/davidfstr/rdiscount" title="RDiscount">RDiscount</a>,
|
754
754
|
<a href="https://github.com/vmg/redcarpet" title="RedCarpet">RedCarpet</a>,
|
755
|
-
<a href="
|
755
|
+
<a href="https://github.com/ged/bluecloth" title="bluecloth">BlueCloth</a>,
|
756
756
|
<a href="http://kramdown.gettalong.org/" title="kramdown">kramdown</a> oder
|
757
757
|
<a href="https://github.com/bhollis/maruku" title="maruku">maruku</a>
|
758
758
|
</td>
|
@@ -1114,7 +1114,7 @@ end
|
|
1114
1114
|
</table>
|
1115
1115
|
|
1116
1116
|
Die Template-Quelle wird als Ruby-String evaluiert. Die daraus resultierende
|
1117
|
-
|
1117
|
+
Json-Variable wird mit Hilfe von `#to_json` umgewandelt:
|
1118
1118
|
|
1119
1119
|
```ruby
|
1120
1120
|
json = { :foo => 'bar' }
|
@@ -1438,16 +1438,16 @@ keinen Schlüssel zu verwenden, dessen Zufälligkeit weniger als 32 Bytes
|
|
1438
1438
|
entspricht (also 256 Bits, 64 Hex-Zeichen). Es ist deshalb **wirklich
|
1439
1439
|
wichtig**, dass nicht einfach irgendetwas als Schlüssel verwendet wird,
|
1440
1440
|
sondern ein sicherer Zufallsgenerator die Zeichenkette erstellt. Menschen sind
|
1441
|
-
nicht besonders gut, zufällige Zeichenfolgen zu erstellen.
|
1441
|
+
nicht besonders gut darin, zufällige Zeichenfolgen zu erstellen.
|
1442
1442
|
|
1443
|
-
Sinatra generiert automatisch einen zufälligen 32 Byte langen
|
1443
|
+
Sinatra generiert automatisch einen zufälligen, 32 Byte langen
|
1444
1444
|
Schlüssel. Da jedoch bei jedem Neustart der Schlüssel ebenfalls neu generiert
|
1445
1445
|
wird, ist es sinnvoll einen eigenen Schlüssel festzulegen, damit er über alle
|
1446
1446
|
Anwendungsinstanzen hinweg geteilt werden kann.
|
1447
1447
|
|
1448
1448
|
Aus praktikablen und Sicherheitsgründen wird
|
1449
1449
|
[empfohlen](https://12factor.net/config), dass ein sicherer Zufallswert
|
1450
|
-
erzeugt und in einer Umgebungsvariable
|
1450
|
+
erzeugt und in einer Umgebungsvariable abgelegt wird, damit alle
|
1451
1451
|
Anwendungsinstanzen darauf zugreifen können. Dieser Sitzungsschlüssel
|
1452
1452
|
sollte in regelmäßigen Abständen erneuert werden. Zum Erzeugen von 64
|
1453
1453
|
Byte starken Schlüsseln sind hier ein paar Beispiele vorgestellt:
|
@@ -1850,7 +1850,7 @@ get '/bar' do
|
|
1850
1850
|
end
|
1851
1851
|
```
|
1852
1852
|
|
1853
|
-
Um Argumente an
|
1853
|
+
Um Argumente an einen Redirect weiterzugeben, können sie entweder dem Query
|
1854
1854
|
übergeben:
|
1855
1855
|
|
1856
1856
|
```ruby
|
@@ -2083,7 +2083,7 @@ get '/' do
|
|
2083
2083
|
end
|
2084
2084
|
```
|
2085
2085
|
|
2086
|
-
Ebenso kann
|
2086
|
+
Ebenso kann ein Dateiname als Parameter hinzugefügt werden:
|
2087
2087
|
|
2088
2088
|
```ruby
|
2089
2089
|
get '/' do
|
@@ -2153,7 +2153,7 @@ helpers do
|
|
2153
2153
|
end
|
2154
2154
|
```
|
2155
2155
|
|
2156
|
-
Ein anderes Beispiel wäre, verschiedene
|
2156
|
+
Ein anderes Beispiel wäre, verschiedene Verzeichnisse für verschiedene Engines
|
2157
2157
|
zu verwenden:
|
2158
2158
|
|
2159
2159
|
```ruby
|
@@ -2175,7 +2175,7 @@ Beachte, dass `find_template` nicht prüft, ob eine Datei tatsächlich
|
|
2175
2175
|
existiert. Es wird lediglich der angegebene Block aufgerufen und nach allen
|
2176
2176
|
möglichen Pfaden gesucht. Das ergibt kein Performance-Problem, da `render`
|
2177
2177
|
`block` verwendet, sobald eine Datei gefunden wurde. Ebenso werden
|
2178
|
-
Template-Pfade samt
|
2178
|
+
Template-Pfade samt Inhalten gecached, solange nicht im Entwicklungsmodus
|
2179
2179
|
gearbeitet wird. Das sollte im Hinterkopf behalten werden, wenn irgendwelche
|
2180
2180
|
verrückten Methoden zusammengebastelt werden.
|
2181
2181
|
|
@@ -2236,7 +2236,7 @@ end
|
|
2236
2236
|
#### Einstellung des Angriffsschutzes
|
2237
2237
|
|
2238
2238
|
Sinatra verwendet
|
2239
|
-
[Rack::Protection](https://github.com/sinatra/rack-protection#readme), um die
|
2239
|
+
[Rack::Protection](https://github.com/sinatra/sinatra/tree/master/rack-protection#readme), um die
|
2240
2240
|
Anwendung vor häufig vorkommenden Angriffen zu schützen. Diese Voreinstellung
|
2241
2241
|
lässt sich selbstverständlich deaktivieren, der damit verbundene
|
2242
2242
|
Geschwindigkeitszuwachs steht aber in keinem Verhätnis zu den möglichen
|
@@ -2306,7 +2306,7 @@ set :protection, session => true
|
|
2306
2306
|
|
2307
2307
|
<dt>bind</dt>
|
2308
2308
|
<dd>
|
2309
|
-
IP-
|
2309
|
+
IP-Adresse, an die gebunden wird (Standardwert: <tt>0.0.0.0</tt>
|
2310
2310
|
<em>oder</em> <tt>localhost</tt>). Wird nur für den eingebauten Server
|
2311
2311
|
verwendet.
|
2312
2312
|
</dd>
|
@@ -2439,7 +2439,7 @@ set :protection, session => true
|
|
2439
2439
|
|
2440
2440
|
<dt>show_exceptions</dt>
|
2441
2441
|
<dd>
|
2442
|
-
Bei Fehlern einen Stacktrace im
|
2442
|
+
Bei Fehlern einen Stacktrace im Browser anzeigen. Ist automatisch
|
2443
2443
|
aktiviert, wenn die Umgebung auf <tt>"development"</tt>
|
2444
2444
|
eingestellt ist. Ansonsten ist diese Option deaktiviert.
|
2445
2445
|
</dd>
|
@@ -3120,9 +3120,9 @@ thin --threaded start
|
|
3120
3120
|
Die folgenden Versionen werden offiziell unterstützt:
|
3121
3121
|
|
3122
3122
|
<dl>
|
3123
|
-
<dt>Ruby 2.
|
3123
|
+
<dt>Ruby 2.3</dt>
|
3124
3124
|
<dd>
|
3125
|
-
2.
|
3125
|
+
2.3 wird vollständig unterstützt. Es gibt derzeit keine Pläne die
|
3126
3126
|
offizielle Unterstützung zu beenden
|
3127
3127
|
</dd>
|
3128
3128
|
|