Skip to content

Instantly share code, notes, and snippets.

View xeioex's full-sized avatar

Dmitry Volyntsev xeioex

View GitHub Profile
@xeioex
xeioex / p
Created December 5, 2025 00:46
diff --git a/src/conf/order.rs b/src/conf/order.rs
index fd43715..8542b81 100644
--- a/src/conf/order.rs
+++ b/src/conf/order.rs
@@ -353,6 +352,8 @@ mod tests {
fn test_validate_dns_identifier() {
for (name, expect) in [
("example", Ok(false)),
+ ("_example", Ok(false)),
+ ("exam_ple", Ok(false)),
@xeioex
xeioex / p
Created December 4, 2025 23:44
diff --git a/src/conf/order.rs b/src/conf/order.rs
index fd43715..86a72af 100644
--- a/src/conf/order.rs
+++ b/src/conf/order.rs
@@ -323,7 +323,6 @@ fn validate_dns_identifier(name: &str) -> Result<bool, NameError> {
b'*' if state == State::Start => State::Wildcard,
b'.' if state != State::Dot => State::Dot,
- b'/' | b':' => return Err(NameError::Unexpected(ch as _, i)),

Personal Coding Preferences & Workflow

Git Commit Workflow

  • Make temporary commits for each working chunk of code
  • NEVER commit broken or half-done code
  • DO NOT commit *.md files
  • NEVER commit or add all untracked files - commit/add only files you worked on
  • Always ask for approval before making any commits

Code Style (nginx projects)

NGINX JavaScript (njs) Development Guide

Project Overview

NGINX JavaScript (njs) is a JavaScript engine for NGINX that implements a subset of ECMAScript 5.1 (strict mode) with extensions from ES6 and later. It can be built as:

  • Standalone CLI - for testing JavaScript code independently
  • NGINX module - integrated into NGINX for HTTP/Stream processing
  • With QuickJS - alternative JavaScript engine backend

See README.md for detailed project information.

commit 252eb831250f8c8d5afe9d5b5736093e3421e887
Author: Dmitry Volyntsev <[email protected]>
Date: Wed Nov 5 14:40:54 2025 -0800
wip
diff --git a/src/njs_lexer.c b/src/njs_lexer.c
index 4131301d..852a424d 100644
--- a/src/njs_lexer.c
+++ b/src/njs_lexer.c
commit f97144b9be3fc6957374a11d8e401702cc77e2d6
Author: Dmitry Volyntsev <[email protected]>
Date: Wed Nov 5 21:59:07 2025 -0800
fixup! Modules: improved handling of results of async handlers.
diff --git a/external/njs_shell.c b/external/njs_shell.c
index 570da13b..b29ccee2 100644
--- a/external/njs_shell.c
+++ b/external/njs_shell.c
commit fa623f37e5237eab2d6d39eeba32b696b05a7036
Author: Dmitry Volyntsev <[email protected]>
Date: Mon Nov 3 15:36:47 2025 -0800
Added API to work with promises.
diff --git a/src/njs.h b/src/njs.h
index c1f4a27a..ac0678fd 100644
--- a/src/njs.h
+++ b/src/njs.h
commit 7a5de1585b7d65cf231f901ad9c6845ef3336a51
Author: Dmitry Volyntsev <[email protected]>
Date: Tue Oct 28 21:56:56 2025 -0700
fixup! Fetch: making sure catch handler is executed asynchronously.
diff --git a/nginx/ngx_js_fetch.c b/nginx/ngx_js_fetch.c
index 91698d11..fd40a5ba 100644
--- a/nginx/ngx_js_fetch.c
+++ b/nginx/ngx_js_fetch.c
commit 33a12604f3081cb68b77a91b2b04ce6023b2e1d1
Author: Vadim Zhestikov <[email protected]>
Date: Mon Oct 27 14:14:02 2025 -0700
Fetch: making sure catch handler is executed asynchronously.
diff --git a/nginx/ngx_js_fetch.c b/nginx/ngx_js_fetch.c
index 09d0e194..91698d11 100644
--- a/nginx/ngx_js_fetch.c
+++ b/nginx/ngx_js_fetch.c

Personal Coding Preferences & Workflow

Git Commit Workflow

  • Make temporary commits for each working chunk of code
  • NEVER commit broken or half-done code
  • DO NOT commit *.md files
  • NEVER commit all untracked files - commit only files you worked on
  • Always ask for approval before making any commits

Code Style (nginx projects)