aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_js.c
Commit message (Collapse)AuthorAge
...
* Added ngx.conf_prefix.Dmitry Volyntsev2022-08-31
|
* Modules: sorting external object property descriptors alphabetically.Dmitry Volyntsev2022-08-24
|
* Modules: improved generic external getters.Dmitry Volyntsev2022-08-19
|
* Stream: improved flags argument for s.on() callback methods.Dmitry Volyntsev2022-08-10
|
* Added generic logger callback.Dmitry Volyntsev2022-07-25
| | | | | This allows for a host environment to control when and how internal NJS messages are logged.
* Refactor modules using external prototypes.Dmitry Volyntsev2021-12-21
|
* Introduced WebCrypto API according to W3C spec.Dmitry Volyntsev2021-10-11
| | | | | | | | | | | | | | | | | | | | | | The following methods were implemented: crypto.getRandomValues() crypto.subtle.importKey() format: raw, pkcs8, spki algorithm: AES-CBC, AES-CTR, AES-GCM, ECDSA, HKDF, HMAC, PBKDF2, RSASSA-PKCS1-v1_5, RSA-OAEP, RSA-PSS crypto.subtle.decrypt() crypto.subtle.encrypt() algorithm: AES-CBC, AES-CTR, AES-GCM, RSA-OAEP crypto.subtle.deriveBits() crypto.subtle.deriveKey() algorithm: HKDF, PBKDF2 crypto.subtle.digest() algorithm: SHA-1, SHA-256, SHA-384, SHA-512 crypto.subtle.sign() crypto.subtle.verify() algorithm: ECDSA, HMAC, RSASSA-PKCS1-v1_5, RSA-PSS
* Modules: introduced common ngx_js_retval().Dmitry Volyntsev2021-10-08
|
* Marking different external pointer with unique tag.Dmitry Volyntsev2021-07-09
| | | | | | | | An external value has an arbitrary raw pointer associated with it. External values with different prototypes have different C-level structures. To ensure that only appropriate structures are fetched by njs_vm_external() the unique tag has to be provided during creation of external values.
* Scopes refactoring.Alexander Borisov2021-04-30
|
* Stream: introduced "stream" property.Dmitry Volyntsev2021-02-26
| | | | Is an alias to $status variable.
* Allowing to pass arbitrary number of arguments in ngx_js_call().Dmitry Volyntsev2021-02-11
|
* Modules: added ngx.fetch().Dmitry Volyntsev2021-01-21
| | | | | | | | | | | | | | | | | | | | This is an initial implementation of Fetch API. The following init options are supported: body, headers, buffer_size (nginx specific), max_response_body_size (nginx specific), method. The following properties and methods of Response object are implemented: arrayBuffer(), bodyUsed, json(), headers, ok, redirect, status, statusText, text(), type, url. The following properties and methods of Header object are implemented: get(), getAll(), has(). Notable limitations: only http:// scheme is supported, redirects are not handled. In collaboration with 洪志道 (Hong Zhi Dao).
* Refactored working with external prototypes.Dmitry Volyntsev2020-12-24
| | | | | | | | | | | | Previously, njs_vm_external_prototype() returned the pointer to a created prototype structure. Which were expected to be passed to njs_vm_external_create() as is. The returned pointer is needed to be stored somewhere by user code which complicates user code in cases when many prototypes are created. Instead, an index in the VM internal table is returned. njs_vm_external_create() is changed accordingly. This simplifies user code because the index is known at static time for most cases.
* Modules: fixed promise events handling.Alexander Borisov2020-11-26
| | | | | | | | | | | Previously, promise chain might not be invoked at all in some cases. Specifically, this happened in HTTP module if promise chain did not start with a r.subrequest() invocation. The fix is to always process all pending promise events after the main module function. This closes #359 issue on GitHub.
* Modules: added support for Buffer object where string is expected.Dmitry Volyntsev2020-11-17
|
* Modules: introduced global "ngx" object.Dmitry Volyntsev2020-10-02
|
* Introduced a library of common functionality for the modules.Dmitry Volyntsev2020-11-10