diff options
Diffstat (limited to 'archives/extend/2014-September/000458.html')
-rw-r--r-- | archives/extend/2014-September/000458.html | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/archives/extend/2014-September/000458.html b/archives/extend/2014-September/000458.html new file mode 100644 index 00000000..8b93f654 --- /dev/null +++ b/archives/extend/2014-September/000458.html @@ -0,0 +1,85 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Using cowboy_req:body more than once per request + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Using%20cowboy_req%3Abody%20more%20than%20once%20per%20request&In-Reply-To=%3CCA%2BdV7cT%2BPOGJM%3DnqBcvnP_NoZUa%3D_ZHjGx-9gBQ%2B09Pe7aE2bg%40mail.gmail.com%3E"> + <META NAME="robots" CONTENT="index,nofollow"> + <style type="text/css"> + pre { + white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */ + } + </style> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + + <LINK REL="Next" HREF="000462.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Using cowboy_req:body more than once per request</H1> + <B>Paulo F. Oliveira</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Using%20cowboy_req%3Abody%20more%20than%20once%20per%20request&In-Reply-To=%3CCA%2BdV7cT%2BPOGJM%3DnqBcvnP_NoZUa%3D_ZHjGx-9gBQ%2B09Pe7aE2bg%40mail.gmail.com%3E" + TITLE="[99s-extend] Using cowboy_req:body more than once per request">paulo.ferraz.oliveira at gmail.com + </A><BR> + <I>Mon Sep 15 23:24:20 CEST 2014</I> + <P><UL> + + <LI>Next message: <A HREF="000462.html">[99s-extend] Using cowboy_req:body more than once per request +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#458">[ date ]</a> + <a href="thread.html#458">[ thread ]</a> + <a href="subject.html#458">[ subject ]</a> + <a href="author.html#458">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi. + +I recently implemented a checksum header (X-Checksum) that allows +validating the content of a request's body by hash comparison (just to give +you some context). I'm using the onrequest hook to affect all requests (and +be able to reply appropriately for non-conformance to the hash function +result) but can't figure out how to not read the request body twice, i.e. I +read it in the onrequest hook but later on need to read it again in the +route handler, but I can't (from the manual, for cowboy_req:body: "This +function can only be called once. Cowboy will not cache the result of this +call."). At the moment, and because the API consumers were in a hurry, the +solution I found (I understand it might be an ugly hack), was to read the +body, store it in the Req's meta (property body, for example) and then +access that property later on, instead of using cowboy_req:body. I'm not +quite happy with this solution and was wondering if there is anything more +elegant that I can implement. + +Thanks. + +Cheers. + +- Paulo F. Oliveira +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20140915/26d4e023/attachment-0001.html">http://lists.ninenines.eu/archives/extend/attachments/20140915/26d4e023/attachment-0001.html</A>> +</PRE> + + + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + + <LI>Next message: <A HREF="000462.html">[99s-extend] Using cowboy_req:body more than once per request +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#458">[ date ]</a> + <a href="thread.html#458">[ thread ]</a> + <a href="subject.html#458">[ subject ]</a> + <a href="author.html#458">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> |