iris-rb 0.5.0 → 0.5.1
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.
- checksums.yaml +4 -4
- data/lib/iris/azione.ir +28 -9
- data/lib/iris/versione.ir +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0c0f2b700cf6afa534162c4494b9462d4c7bf1a05300d76f55ea138c57d579a
|
4
|
+
data.tar.gz: d100c0e76b78fe2687199286b0b2e2090f39e42b66f312a4afaed4e0bf9eb185
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef257008011ae9d9f125808504eb6fc907ca03f48f5bf67245c94f9475c707b34ee6238a0dd373d2a18dca1159f33a382dd979efe74230782b411007fb293cab
|
7
|
+
data.tar.gz: ecd52d67b889be73879f48ce4ebe7f04313e255dffc5c7bf5c15ccbe3cc4b8fe140e0add0f64ab6624f6a25e2bb1315d04e5cd0f80fdc29af6bee1fbd81fae3d
|
data/lib/iris/azione.ir
CHANGED
@@ -53,6 +53,10 @@ modulo Iris
|
|
53
53
|
"X-Frame-Options" => Intestazioni::OPZIONI_FRAME,
|
54
54
|
"X-XSS-Protection" => Intestazioni::PROTEZIONE_CROSS_SITE_SCRIPTING]
|
55
55
|
|
56
|
+
##
|
57
|
+
# Codifiche corpo supportate (oltre a UTF-8).
|
58
|
+
CODIFICHE_SUPPORTATE = [ "ISO-8859-1", "ASCII-8BIT" ].congela
|
59
|
+
|
56
60
|
##
|
57
61
|
# Metodo principale eseguito per risolvere l'azione.
|
58
62
|
definisci _avvia(richiesta)
|
@@ -152,6 +156,15 @@ modulo Iris
|
|
152
156
|
@parametri = Parametri.nuovo @richiesta["iris.parametri"]
|
153
157
|
fine
|
154
158
|
|
159
|
+
##
|
160
|
+
# Converte il corpo multipart.
|
161
|
+
definisci _converti_corpo_multipart
|
162
|
+
ritorna se @tipo_contenuto.non_inizia_con? "multipart/form-data"
|
163
|
+
@richiesta["iris.parametri"].fondi! Rack::Multipart.parse_multipart(@richiesta).simbolizza
|
164
|
+
recupera Errore => errore
|
165
|
+
arresta 400, errore: "Errore nella conversione del contenuto multipart fornito."
|
166
|
+
fine
|
167
|
+
|
155
168
|
##
|
156
169
|
# Converte il corpo della richiesta in JSON.
|
157
170
|
definisci _converti_corpo_in_json
|
@@ -160,6 +173,7 @@ modulo Iris
|
|
160
173
|
corpo = @richiesta["rack.input"].read
|
161
174
|
ritorna se corpo.non_specificato?
|
162
175
|
|
176
|
+
corpo_codificato = _codifica_corpo_in_utf8 corpo
|
163
177
|
corpo_convertito = (JSON.processa corpo).simbolizza
|
164
178
|
@richiesta["iris.parametri"].fondi! corpo_convertito se corpo_convertito.è_una? Mappa
|
165
179
|
@richiesta["iris.parametri"].fondi! Mappa(_corpo: corpo_convertito) se corpo_convertito.non_è_una? Mappa
|
@@ -169,6 +183,20 @@ modulo Iris
|
|
169
183
|
arresta 400, errore: "Il corpo fornito non è un JSON valido."
|
170
184
|
fine
|
171
185
|
|
186
|
+
##
|
187
|
+
# Codifica il corpo in UTF-8.
|
188
|
+
definisci _codifica_corpo_in_utf8(corpo)
|
189
|
+
corpo_già_in_utf8 = corpo.forza_codifica_a("UTF-8").codifica_valida?
|
190
|
+
ritorna corpo.codifica_in("UTF-8") se corpo_già_in_utf8
|
191
|
+
|
192
|
+
CODIFICHE_SUPPORTATE.per_ognuna esegui |codifica|
|
193
|
+
codifica_valida = corpo.forza_codifica_a(codifica).codifica_valida?
|
194
|
+
ritorna corpo.codifica_in(codifica) se codifica_valida
|
195
|
+
fine
|
196
|
+
|
197
|
+
corpo
|
198
|
+
fine
|
199
|
+
|
172
200
|
##
|
173
201
|
# Converte i parametri della richiesta passati come interrogazione.
|
174
202
|
definisci _converti_parametri_interrogazione
|
@@ -177,15 +205,6 @@ modulo Iris
|
|
177
205
|
@richiesta["iris.parametri"].fondi! Rack::Utils.parse_nested_query(parametri_stringa_interrogazione).simbolizza
|
178
206
|
fine
|
179
207
|
|
180
|
-
##
|
181
|
-
# Converte il corpo multipart.
|
182
|
-
definisci _converti_corpo_multipart
|
183
|
-
ritorna se @tipo_contenuto.non_inizia_con? "multipart/form-data"
|
184
|
-
@richiesta["iris.parametri"].fondi! Rack::Multipart.parse_multipart(@richiesta).simbolizza
|
185
|
-
recupera Errore => errore
|
186
|
-
arresta 400, errore: "Errore nella conversione del contenuto multipart fornito."
|
187
|
-
fine
|
188
|
-
|
189
208
|
##
|
190
209
|
# Questo modulo serve per eseguire il codice del metodo `_avvia`
|
191
210
|
# anche quando viene ridefinito nella classe includente.
|
data/lib/iris/versione.ir
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iris-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francesco Ballardin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: italian-ruby
|