summaryrefslogtreecommitdiff
path: root/regex.h
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-14 18:19:14 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-14 18:19:14 +0800
commit306cf74eb0101a12b51549866a4d60296618ee0b (patch)
tree89fe13b234f40f97de84cdb6610bcd11e1d47a88 /regex.h
OAuth part
The minimum to pass all authentications and arrive at the embedded app index. This library is to be used with shopify-app-template-c for now, as it assumes the existence of shopify.app.toml in the parent directory, and index.html in the frontend directory.
Diffstat (limited to 'regex.h')
-rw-r--r--regex.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/regex.h b/regex.h
new file mode 100644
index 0000000..ebd51ac
--- /dev/null
+++ b/regex.h
@@ -0,0 +1,17 @@
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
+
+static inline bool regex_match(const char *shop)
+{
+ pcre2_code *re = pcre2_compile((PCRE2_SPTR)
+ "^[a-zA-Z0-9][a-zA-Z0-9\\-]*\\.myshopify\\.com",
+ PCRE2_ZERO_TERMINATED, 0, &(int){ 0 },
+ &(PCRE2_SIZE){ 0 }, NULL);
+ pcre2_match_data *match_data
+ = pcre2_match_data_create_from_pattern(re, NULL);
+ int rc = pcre2_match(re, (PCRE2_SPTR)shop, strlen(shop), 0, 0,
+ match_data, NULL);
+ pcre2_match_data_free(match_data);
+ pcre2_code_free(re);
+ return rc >= 0;
+}