| 252 | } |
| 253 | |
| 254 | func (ui *UI) setResponseView(g *gocui.Gui, x0, y0, x1, y1 int) error { |
| 255 | if ui.hideResponseBuilder { |
| 256 | g.DeleteView(StatusView) |
| 257 | g.DeleteView(DelayView) |
| 258 | g.DeleteView(HeaderView) |
| 259 | g.DeleteView(BodyView) |
| 260 | return nil |
| 261 | } |
| 262 | |
| 263 | split := NewSplit(y1).Fixed(2, 2).Relative(40) |
| 264 | if v, err := g.SetView(StatusView, x0, y0, x1, split.Next()); err != nil { |
| 265 | if err != gocui.ErrUnknownView { |
| 266 | return err |
| 267 | } |
| 268 | |
| 269 | v.Title = "Status" |
| 270 | v.Editable = true |
| 271 | v.Editor = newEditor(ui, g, &numberEditor{3}) |
| 272 | fmt.Fprintf(v, "%d", ui.resp.Status) |
| 273 | } |
| 274 | |
| 275 | if v, err := g.SetView(DelayView, x0, split.Current(), x1, split.Next()); err != nil { |
| 276 | if err != gocui.ErrUnknownView { |
| 277 | return err |
| 278 | } |
| 279 | |
| 280 | v.Title = "Delay (ms) " |
| 281 | v.Editable = true |
| 282 | v.Editor = newEditor(ui, g, &numberEditor{9}) |
| 283 | fmt.Fprintf(v, "%d", ui.resp.Delay/time.Millisecond) |
| 284 | } |
| 285 | |
| 286 | if v, err := g.SetView(HeaderView, x0, split.Current(), x1, split.Next()); err != nil { |
| 287 | if err != gocui.ErrUnknownView { |
| 288 | return err |
| 289 | } |
| 290 | v.Editable = true |
| 291 | v.Editor = newEditor(ui, g, nil) |
| 292 | v.Title = "Headers" |
| 293 | var headers []string |
| 294 | for key := range ui.resp.Headers { |
| 295 | headers = append(headers, key+": "+ui.resp.Headers.Get(key)) |
| 296 | } |
| 297 | fmt.Fprint(v, strings.Join(headers, "\n")) |
| 298 | } |
| 299 | |
| 300 | if v, err := g.SetView(BodyView, x0, split.Current(), x1, y1); err != nil { |
| 301 | if err != gocui.ErrUnknownView { |
| 302 | return err |
| 303 | } |
| 304 | v.Editable = true |
| 305 | v.Editor = newEditor(ui, g, nil) |
| 306 | ui.renderBody(g) |
| 307 | } |
| 308 | |
| 309 | return nil |
| 310 | } |
| 311 | |