<div dir="ltr">Hi,<div><br></div><div>You can cover all those stages in Lua. As for response body, check for ngx.arg[1] <a href="https://github.com/openresty/lua-nginx-module#body_filter_by_lua">https://github.com/openresty/lua-nginx-module#body_filter_by_lua</a> (it's available in certain stages only, but you can hack around that and pass it using ngx.ctx) <a href="https://stackoverflow.com/a/54432177/2388324">https://stackoverflow.com/a/54432177/2388324</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 30, 2020 at 3:58 PM Federico Felman <<a href="mailto:ffjr@hotmail.com">ffjr@hotmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="gmail-m_3149251218000176255WordSection1">
<p class="MsoNormal">Hello Andrei,</p>
<p class="MsoNormal">Thanks for writing back.</p>
<p class="MsoNormal">I wanted to take enough time check all the links.</p>
<p class="MsoNormal">I’ve read about OpenResty but my concern is how to access the data I need.</p>
<p class="MsoNormal">So basically I’m diving my process in stages.</p>
<p class="MsoNormal">Stage 0: research and get the correct approach (this current stage)</p>
<p class="MsoNormal">Stage 1: get all the request and response to go through a custom functions (processReq, processResp).</p>
<p class="MsoNormal">Stage 2: write those functions to call the appropriate APIs.</p>
<p class="MsoNormal">Stage 3: stress test and optimization.</p>
<p class="MsoNormal">I think OpenResty solves the Stage 2 but I still don’t know how to handle properly the REQ/RESP, mostly the response since the REQ could be the first module called. But I couldn’t find anything clear on catching the response.</p>
<p class="MsoNormal">Maybe this is pretty straight forward but I’m messing this up.</p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks you everyone for reading this.</p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:lagged@gmail.com" target="_blank">Andrei</a><br>
<b>Sent: </b>Tuesday, December 29, 2020 4:24 PM<br>
<b>To: </b><a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<b>Subject: </b>Re: Getting started with a Module</p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Happy Holidays!<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">You mean something like this?<u></u><u></u></p>
<div>
<p class="MsoNormal"><a href="https://serverfault.com/questions/361556/is-it-possible-to-log-the-response-data-in-nginx-access-log" target="_blank">https://serverfault.com/questions/361556/is-it-possible-to-log-the-response-data-in-nginx-access-log</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Either way, you're probably looking at OpenResty Lua (<a href="https://github.com/openresty/lua-nginx-module" target="_blank">https://github.com/openresty/lua-nginx-module</a>), cosockets (<a href="https://github.com/openresty/lua-nginx-module#cosockets-not-available-everywhere" target="_blank">https://github.com/openresty/lua-nginx-module#cosockets-not-available-everywhere</a>),
 and maybe mlcache (<a href="https://github.com/thibaultcha/lua-resty-mlcache" target="_blank">https://github.com/thibaultcha/lua-resty-mlcache</a>). Instead of writing a full blown module, consider using Lua. I know this isn't an OpenResty forum, but... <a href="https://opm.openresty.org/" target="_blank">https://opm.openresty.org/</a>
 also has a bunch of goodies that might help :)<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">gl!<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Tue, Dec 29, 2020 at 4:16 PM Federico Felman <<a href="mailto:ffjr@hotmail.com" target="_blank">ffjr@hotmail.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">Hello everyone and happy holidays.</p>
<p class="MsoNormal">I’ve been asked to do a specific module for NGINX, I need to “log” all the requests and responses using some specific web services.</p>
<p class="MsoNormal">For what I’ve seen I can read the REQ easily but I don’t see any way to access the response.</p>
<p class="MsoNormal">Can you guys help me?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Thanks in advance!!!</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:4.8pt">_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a></blockquote></div>