Commit | Line | Data |
---|---|---|
1 | package jrw; | |
2 | ||
3 | import java.util.*; | |
4 | import java.io.*; | |
5 | import jrw.resp.*; | |
6 | ||
7 | public class Dispatch { | |
8 | public static Map<Object, Object> handle(Handler handler, Request req) { | |
9 | try(Environment.Frame f = new Environment().frame()) { | |
10 | while(true) { | |
11 | try { | |
12 | return(handler.handle(req)); | |
13 | } catch(Restart r) { | |
14 | handler = r; | |
15 | } catch(Throwable t) { | |
16 | t.printStackTrace((PrintStream)req.env.get("jagi.errors")); | |
17 | handler = new jrw.resp.HttpError(500); | |
18 | } | |
19 | } | |
20 | } | |
21 | } | |
22 | } |