summaryrefslogtreecommitdiffhomepage
path: root/src/go/unit/request.go (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-09-18Go: do not store pointer to Go object.Max Romanov1-1/+1
To pass Go object references to C and back we use hack with casting to unsafe and then to uintptr. However, we should not store such references because Go not guaratnee it will be available by the same address. Introducing map with integer key helps to avoid dereference stored address. This closes #253 and #309 issues on GitHub.
2019-03-21Adjusting request schema value according to connection tls state.Max Romanov1-0/+7
This closes #223 issue on GitHub.
2018-08-06Unit application library.Max Romanov1-23/+28
Library now used in all language modules. Old 'nxt_app_*' code removed. See src/test/nxt_unit_app_test.c for usage sample.
2018-04-20Go: fixed request.Read() behaviour for EOF.Max Romanov1-1/+6
This closes #108 issue on GitHub.
2018-04-06Go: Forced WriteHeader after application request processing.Max Romanov1-0/+4
Application should create response for every request. If not, Unit package will do it.
2017-12-06Go: removing request registry.Max Romanov1-118/+20
Passing unsafe.Pointers (void *) from Go to C is complicated by an attempt to make such pointers less unsafe. A straightforward optimization is to replace 'unsafe.Pointer' with 'uintptr' (thanks to Xin Huang for the idea: https://stackoverflow.com/a/44826533 ). As a result, request registry with mutex is gone.
2017-10-27Fixing Go program crash.Max Romanov1-2/+2
Go request registration should be removed before C request memory freed. C request address used as a key in Go map. Freed memory can be instantly reused for other request and older request registration should removed at this point to avoid collisions.
2017-09-06Style fixes.Igor Sysoev1-12/+22
2017-08-31nginext has been renamed to unit.Igor Sysoev1-0/+211