1package dev.rafex.ether.glowroot.jetty12;
7import org.glowroot.agent.api.Glowroot;
35import dev.rafex.ether.http.core.HttpExchange;
51final class StatusCapturingHttpExchange
implements HttpExchange {
53 private final HttpExchange delegate;
55 StatusCapturingHttpExchange(
final HttpExchange delegate) {
56 this.delegate = delegate;
67 public String
path() {
68 return delegate.path();
72 public String pathParam(
final String name) {
73 return delegate.pathParam(name);
77 public String queryFirst(
final String name) {
78 return delegate.queryFirst(name);
82 public List<String> queryAll(
final String name) {
83 return delegate.queryAll(name);
88 return delegate.pathParams();
93 return delegate.queryParams();
98 return delegate.allowedMethods();
104 public void json(
final int status,
final Object body) {
105 recordStatus(status);
106 delegate.json(status, body);
110 public void text(
final int status,
final String body) {
111 recordStatus(status);
112 delegate.text(status, body);
116 public void noContent(
final int status) {
117 recordStatus(status);
118 delegate.noContent(status);
127 delegate.methodNotAllowed();
141 private static void recordStatus(
final int status) {
143 Glowroot.addTransactionAttribute(
"http.status", String.valueOf(status));
144 Glowroot.addTransactionAttribute(
"http.status_class", (status / 100) +
"xx");
145 }
catch (
final Throwable ignore) {
default void methodNotAllowed()
Map< String, List< String > > queryParams()
Set< String > allowedMethods()
Map< String, String > pathParams()