#include <libecap/common/names.h>
#include <libecap/common/area.h>
#include <libecap/common/version.h>
+#include <libecap/common/named_values.h>
#include "adaptation/ecap/MessageRep.h"
#include "adaptation/ecap/XactionRep.h"
#include "adaptation/ecap/Host.h" /* for protocol constants */
theHeader.delById(squidId);
}
+void
+Adaptation::Ecap::HeaderRep::visitEach(libecap::NamedValueVisitor &visitor) const
+{
+ HttpHeaderPos pos = HttpHeaderInitPos;
+ while (HttpHeaderEntry *e = theHeader.getEntry(&pos)) {
+ const Name name(e->name.termedBuf()); // optimize: find std Names
+ name.assignHostId(e->id);
+ visitor.visit(name, Value(e->value.rawBuf(), e->value.size()));
+ }
+}
+
libecap::Area
Adaptation::Ecap::HeaderRep::image() const
{
virtual void add(const Name &name, const Value &value);
virtual void removeAny(const Name &name);
+ virtual void visitEach(libecap::NamedValueVisitor &visitor) const;
+
virtual Area image() const;
virtual void parse(const Area &buf); // throws on failures