This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 9ebd63943e Add a StatusCode() macro for Cripts convenience mode
(#12170)
9ebd63943e is described below
commit 9ebd63943edc39dd5901afc0ed4c3437f231bedd
Author: Leif Hedstrom <[email protected]>
AuthorDate: Thu May 1 10:22:12 2025 -0700
Add a StatusCode() macro for Cripts convenience mode (#12170)
---
doc/developer-guide/cripts/cripts-convenience.en.rst | 5 +++++
include/cripts/Preamble.hpp | 1 +
2 files changed, 6 insertions(+)
diff --git a/doc/developer-guide/cripts/cripts-convenience.en.rst
b/doc/developer-guide/cripts/cripts-convenience.en.rst
index cb2fc4010c..cc479b79e9 100644
--- a/doc/developer-guide/cripts/cripts-convenience.en.rst
+++ b/doc/developer-guide/cripts/cripts-convenience.en.rst
@@ -118,6 +118,7 @@ Macro Traditional API equivalent
===========================
====================================================================
``Regex(name, ...)`` ``static cripts::Matcher::PCRE name(...)``
``ACL(name, ...)`` ``static cripts::Matcher::Range::IP name(...)``
+``StatusCode(code, ...)`` ``cripts::Error::Status::Set(code, ...)``
``CreateCounter(id, name)`` ``instance.metrics[id] =
cripts::Metrics::Counter::Create(name)``
``CreateGauge(id, name)`` ``instance.metrics[id] =
cripts::Metrics::Gauge::Create(name)``
``FilePath(name, path)`` ``static const cripts::File::Path name(path)``
@@ -138,3 +139,7 @@ An example of using ACLs and regular expressions:
// do something
}
}
+.. note::
+ The ``StatusCode`` macro currently only works with the status code, the
reason
+ message can not be set or overridden. Fixing this will require a future
change
+ in the Traffic Server code base.
diff --git a/include/cripts/Preamble.hpp b/include/cripts/Preamble.hpp
index 9f92fa958e..5c61d469d9 100644
--- a/include/cripts/Preamble.hpp
+++ b/include/cripts/Preamble.hpp
@@ -116,6 +116,7 @@ extern cripts::Versions version; // Access to the ATS
version information
#define urls context->_urls
#define Regex(_name_, ...) static cripts::Matcher::PCRE
_name_(__VA_ARGS__);
#define ACL(_name_, ...) static cripts::Matcher::Range::IP
_name_(__VA_ARGS__);
+#define StatusCode(_name_, ...) cripts::Error::Status::Set(_name_,
__VA_ARGS__);
#define CreateCounter(_id_, _name_) instance.metrics[_id_] =
cripts::Metrics::Counter::Create(_name_);
#define CreateGauge(_id_, _name_) instance.metrics[_id_] =
cripts::Metrics::Gauge::Create(_name_);
#define FilePath(_name_, _path_) static const cripts::File::Path
_name_(_path_);