iris-rb 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a31ac3843e194993b7631bce432eae9bf870690fa241ccf65f5cf07955af81a1
4
- data.tar.gz: a0f6d111d4d91f7f8bb38992210a6c94688e3d50186ca981d3440a399a162ea3
3
+ metadata.gz: 4643c6b0db0c39d5780e6aeee63eed88ecc0553417e56f9976ae6e422762a093
4
+ data.tar.gz: 6142cb115696275d33c06549ba471c321e264fdd50e974c1bb4f60dd0dd52ee4
5
5
  SHA512:
6
- metadata.gz: bab5898303d6528b64cbccebdc417c9746ee2d4714e5a9e72e765165d3cecf5b2cd3e88f3ce38c48f365c64d6067533cb0310cdb8a65560343dbfc2803096754
7
- data.tar.gz: 8aa8016b1feda69ab7b2244a692919f501f77c951aadb85ae51fc9e6bd8918c07143b65d6b5678f88cef7c048cb8fbb18e7af772c7e576e1a04da56298df6ae1
6
+ metadata.gz: 451679b7fdb580cc076dba42116a6322410152c4717943a5ec322fae23945822b0b0a22af650c87499d58cf93555732b4062958164573537c6ae08f780aa645f
7
+ data.tar.gz: 19c0b520d0f17d6cd841bdd38e06d3d2271601591fce460e751346e60c6c429cd2b553cd6703cdf702932df8d1fe5d6f54fe576858711bb71e6fb79a06dae55c
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /.italian-ruby
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
data/lib/iris/azione.ir CHANGED
@@ -59,6 +59,7 @@ modulo Iris
59
59
  cattura :arresta esegui
60
60
  _imposta_variabili_istanza richiesta
61
61
  _converti_parametri_interrogazione
62
+ _converti_corpo_multipart
62
63
  _converti_corpo_in_json
63
64
  _inizializza_parametri
64
65
 
@@ -138,6 +139,7 @@ modulo Iris
138
139
  definisci _imposta_variabili_istanza(richiesta)
139
140
  @richiesta = richiesta
140
141
  @richiesta["iris.parametri"] ||= Mappa.nuova
142
+ @tipo_contenuto = richiesta.ottieni "CONTENT_TYPE", "application/json"
141
143
  @stato = 200
142
144
  @intestazioni = INTESTAZIONI_PREDEFINITE
143
145
  @corpo = nullo
@@ -154,27 +156,36 @@ modulo Iris
154
156
  # Converte il corpo della richiesta in JSON.
155
157
  definisci _converti_corpo_in_json
156
158
  ritorna se @richiesta["rack.input"].nullo?
159
+ ritorna se @tipo_contenuto != "application/json"
157
160
  corpo = @richiesta["rack.input"].read
158
161
  ritorna se corpo.non_specificato?
159
162
 
160
- inizia
161
- corpo_convertito = (JSON.processa corpo).simbolizza
162
- @richiesta["iris.parametri"].fondi! corpo_convertito se corpo_convertito_una? Mappa
163
- @richiesta["iris.corpo"] = corpo_convertito
164
- recupera JSON::ParserError => errore
165
- arresta 400, errore: "Il corpo fornito non è un JSON valido."
166
- fine
163
+ corpo_convertito = (JSON.processa corpo).simbolizza
164
+ @richiesta["iris.parametri"].fondi! corpo_convertito se corpo_convertito.è_una? Mappa
165
+ @richiesta["iris.parametri"].fondi! Mappa(_corpo: corpo_convertito) se corpo_convertito.non_è_una? Mappa
166
+ @richiesta["iris.corpo"] = corpo_convertito
167
167
  @richiesta["rack.input"].rewind
168
+ recupera JSON::ParserError => errore
169
+ arresta 400, errore: "Il corpo fornito non è un JSON valido."
168
170
  fine
169
171
 
170
172
  ##
171
- # Converte i parametri della richiesta.
173
+ # Converte i parametri della richiesta passati come interrogazione.
172
174
  definisci _converti_parametri_interrogazione
173
175
  ritorna a_meno_che @richiesta["REQUEST_URI"].specificato? e @richiesta["REQUEST_URI"].include?("?")
174
176
  parametri_stringa_interrogazione = @richiesta["REQUEST_URI"].partiziona("?").ultimo
175
177
  @richiesta["iris.parametri"].fondi! Rack::Utils.parse_nested_query(parametri_stringa_interrogazione).simbolizza
176
178
  fine
177
179
 
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
+
178
189
  ##
179
190
  # Questo modulo serve per eseguire il codice del metodo `_avvia`
180
191
  # anche quando viene ridefinito nella classe includente.
data/lib/iris/versione.ir CHANGED
@@ -1,3 +1,3 @@
1
1
  modulo Iris
2
- VERSIONE = "0.4.3"
2
+ VERSIONE = "0.4.4"
3
3
  fine
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.4.3
4
+ version: 0.4.4
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-05-19 00:00:00.000000000 Z
11
+ date: 2020-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: italian-ruby