Added a request-restart-wrapper and some convenient redirections.
[jsvc.git] / src / dolda / jsvc / util / Rehandler.java
CommitLineData
c25c3aad
FT
1package dolda.jsvc.util;
2
3import dolda.jsvc.*;
4
5public class Rehandler implements Responder {
6 private Responder next;
7
8 public Rehandler(Responder next) {
9 this.next = next;
10 }
11
12 public void respond(Request req) {
13 Responder cur = next;
14 while(true) {
15 try {
16 cur.respond(req);
17 } catch(RequestRestart t) {
18 if(req instanceof ResettableRequest) {
19 ResettableRequest rr = (ResettableRequest)req;
20 if(rr.canreset())
21 rr.reset();
22 }
23 cur = t;
24 continue;
25 }
26 return;
27 }
28 }
29}