Skip to content

Releases: tarantool/nginx_upstream_module

v2.7.1

16 Apr 13:51
Compare
Choose a tag to compare

Bugfixes

  • Fixed tnt_pass_http_request unescape option (#120)
  • Fixed tnt_http_rest_methods documentation (#115)

v2.7

23 Jul 21:07
6c5696b
Compare
Choose a tag to compare

Features

The version has a new option pass_subrequest_uri for tnt_pass_http_request config directive.

Previous implementation unconditionally passes unparsed uri, recieved from client. However it can be changed due to several internal redirects, such as rewrite, X-Accel-Redirect, etc. If the new option for tnt_pass_http_request is set, the actual subrequest uri will be passed to tarantool upstream.

Default behaviour coincides with the old one for saving backward compatibility.

You can find more information and examples into the README

v2.6-rc3

10 Jan 08:17
Compare
Choose a tag to compare
v2.6-rc3 Pre-release
Pre-release

Features

The version has a new features, it called 'format' or tarantool protocol over REST.

Tarantool stores data in tuples. A tuple is a list of elements. Each element is a value or an object, and each element should have a strong type. The tuple format is called MsgPack, it's like JSON in a binary format.

The main goal of Format (see [FMT] above) is to enable conversion between
a query string and MsgPack without losing type information or value.

The syntax is: {QUERY_ARG_NAME}=%{FMT_TYPE}

Please look carefully for yours url encoding!

You can find more information into the README.md.

A related issue: #66

Bugs fixed

#98
#105
#108

v2.5-stable

06 Oct 21:21
Compare
Choose a tag to compare

Features

  1. tnt_multireturn_skip_count has returned, for getting details see related issue (#97)
syntax: tnt_multireturn_skip_count [0|1|2]

default: 0

context: http, server, location

Module will skip one or more multireturn parts when this option is > 0 When it is set to 0
  1. tnt_method can work with nginx's variables, here is a short example:
location ~ /api/([-_a-zA-Z0-9/]+)/ {
    tnt_method $1;
    tnt_pass backend:3113;
}
  1. tnt_pass_http_request has a new option, it's parse_urlencoded. This option make nginx parse incoming x-www-urlencoded data into the Lua table. Here is details: https://github.com/tarantool/nginx_upstream_module#tnt_pass_http_request

  2. tnt_set_header, it's a new option. it allows redefining or appending fields to the request header passed to the tarantool proxied server. The value can contain text, variables, and their combinations.

v2.5-rc2

29 Aug 10:06
Compare
Choose a tag to compare
v2.5-rc2 Pre-release
Pre-release

Features

  • tnt_multireturn_skip_count has returned, for getting details see related issue (#97)
syntax: tnt_multireturn_skip_count [0|1|2]

default: 0

context: http, server, location

Module will skip one or more multireturn parts when this option is > 0 When it is set to 0

v2.5-rc1

17 Aug 22:24
Compare
Choose a tag to compare

New features

  1. tnt_method can work with nginx's variables, here is a short example:
location ~ /api/([-_a-zA-Z0-9/]+)/ {
    tnt_method $1;
    tnt_pass backend:3113;
}
  1. tnt_pass_http_request has a new option, it's parse_urlencoded. This option make nginx parse incoming x-www-urlencoded data into the Lua table. Here is details: https://github.com/tarantool/nginx_upstream_module#tnt_pass_http_request

  2. tnt_set_header, it's a new option. it allows redefining or appending fields to the request header passed to the tarantool proxied server. The value can contain text, variables, and their combinations.

v2.4.6-rc1

02 Jul 11:39
Compare
Choose a tag to compare

Changelist


  • tnt_eval has been removed, since it does not work well. It was replaced by ngx_lua and so on, that means this module is optimized for an other nginx's modules like ngx_lua, ngx_perl and so on.
  • tnt_pure_result is back. Reply can be filtered by ngx_lua or ngx_perl.
  • Module has been optimised for working with ngx_lua, ngx_perl and so on.

v2.4.5-beta

25 Jun 15:09
Compare
Choose a tag to compare

Bugs fixed

tnt_eval

  • it works only with HTTP GET. this wrong behaviour was fixed.
  • Upstream status does not passed to the client. That means that client does not seen any upstream issues, like codes 502, 500.
    This was fixed.

tnt_pass

  • Double json output can be recived by client if tarantool's upstream is dead. This was fixed.

v2.4.2-beta

22 Jun 19:26
Compare
Choose a tag to compare

Bugs fixed

  • Stack has overflowed if number of items in the input JSON more than uint16_t.

v2.4.0-beta

18 Jun 21:37
Compare
Choose a tag to compare

Breaking changes


  • Module reply has been changed. Now it does not returns 'result', it returns a raw result only.

  • Module does not support experemental flags tnt_pure_result and tnt_multireturn_skip_count.

  • Module does not support tarantool 1.6.*; it supports only 1.7.+.

New features


  • tnt_eval (#74).
    This directive put execution of tnt_pass into the nginx REWRITE PHASE. That exactly this mean? That means that you can have a access to the body (in for of JSON), http codes and http headers which have been passed from the Tarantool to the nginx inside nginx config. This very useful for setting custom HTTP statuses, headers and for post-processing of the original body.
    Even more, you can use this for using this module with OpenResty, Nginx Script, Nginx Perl and so on.