@@ -294,15 +294,39 @@ func (x *VMHttpResponse) Send(status VMInt, b VMString, h VMStringMap) error {
294
294
return nil
295
295
}
296
296
297
+ func (x * VMHttpResponse ) RequestAsVMStringMap () (VMStringMap , error ) {
298
+
299
+ var err error
300
+ rmap := make (VMStringMap )
301
+
302
+ rmap ["Тело" ], err = x .ReadBody ()
303
+ if err != nil {
304
+ return rmap , err
305
+ }
306
+
307
+ rmap ["ДлинаКонтента" ] = VMInt (x .r .ContentLength )
308
+ rmap ["Статус" ] = VMInt (x .r .StatusCode )
309
+
310
+ m1 := make (VMStringMap )
311
+ for k , v := range x .r .Header {
312
+ if len (v ) > 0 {
313
+ m1 [k ] = VMString (v [0 ])
314
+ }
315
+ }
316
+ rmap ["Заголовки" ] = m1
317
+
318
+ return rmap , nil
319
+ }
320
+
297
321
func (x * VMHttpResponse ) MethodMember (name int ) (VMFunc , bool ) {
298
322
299
323
// только эти методы будут доступны из кода на языке Гонец!
300
324
301
325
switch names .UniqueNames .GetLowerCase (name ) {
302
326
case "отправить" :
303
327
return VMFuncMustParams (1 , x .Отправить ), true
304
- case "тело " :
305
- return VMFuncMustParams (0 , x .Тело ), true
328
+ case "сообщение " :
329
+ return VMFuncMustParams (0 , x .Сообщение ), true
306
330
}
307
331
308
332
return nil , false
@@ -344,8 +368,11 @@ func (x *VMHttpResponse) Отправить(args VMSlice, rets *VMSlice, envout
344
368
return x .Send (sts , b , h )
345
369
}
346
370
347
- func (x * VMHttpResponse ) Тело (args VMSlice , rets * VMSlice , envout * (* Env )) error {
348
- s , _ := x .ReadBody ()
349
- rets .Append (VMString (s ))
371
+ func (x * VMHttpResponse ) Сообщение (args VMSlice , rets * VMSlice , envout * (* Env )) error {
372
+ v , err := x .RequestAsVMStringMap ()
373
+ if err != nil {
374
+ return err
375
+ }
376
+ rets .Append (v )
350
377
return nil
351
- }
378
+ }
0 commit comments