From df107816240c22a031fd8e863879216145e6e122 Mon Sep 17 00:00:00 2001 From: aabssmc Date: Wed, 26 Jun 2024 16:37:24 -0700 Subject: [PATCH] add ExprHeaders --- .../elements/expressions/ExprHeaders.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/main/java/lol/aabss/skhttp/elements/expressions/ExprHeaders.java diff --git a/src/main/java/lol/aabss/skhttp/elements/expressions/ExprHeaders.java b/src/main/java/lol/aabss/skhttp/elements/expressions/ExprHeaders.java new file mode 100644 index 0000000..bd95be1 --- /dev/null +++ b/src/main/java/lol/aabss/skhttp/elements/expressions/ExprHeaders.java @@ -0,0 +1,45 @@ +package lol.aabss.skhttp.elements.expressions; + +import ch.njol.skript.doc.Description; +import ch.njol.skript.doc.Examples; +import ch.njol.skript.doc.Name; +import ch.njol.skript.doc.Since; +import ch.njol.skript.expressions.base.SimplePropertyExpression; +import lol.aabss.skhttp.objects.RequestObject; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.net.http.HttpResponse; + +@Name("HTTP Headers") +@Description("Returns the headers of a http response of request.") +@Examples({ + "send headers of {_request}." +}) +@Since("1.2") +public class ExprHeaders extends SimplePropertyExpression { + + static { + register(ExprHeaders.class, String.class, "[http] headers", "httpresponses/httprequests"); + } + + @Override + protected @NotNull String getPropertyName() { + return "headers"; + } + + @Override + public @Nullable String convert(Object object) { + if (object instanceof HttpResponse){ + return ((HttpResponse) object).headers().map().toString(); + } else if (object instanceof RequestObject){ + return ((RequestObject) object).request.headers().map().toString(); + } + return ""; + } + + @Override + public @NotNull Class getReturnType() { + return String.class; + } +}