1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE> [99s-extend] Big body via REST
</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Big%20body%20via%20REST&In-Reply-To=%3CCAABFZ%3DZL1e5svfLpmHJON39eXFkvziwMjF2rEm1Pew-PcTEZKQ%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="Previous" HREF="000070.html">
<LINK REL="Next" HREF="000072.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[99s-extend] Big body via REST</H1>
<B>Wu Ray</B>
<A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Big%20body%20via%20REST&In-Reply-To=%3CCAABFZ%3DZL1e5svfLpmHJON39eXFkvziwMjF2rEm1Pew-PcTEZKQ%40mail.gmail.com%3E"
TITLE="[99s-extend] Big body via REST">mjollnir.ray at gmail.com
</A><BR>
<I>Mon Mar 18 10:21:13 CET 2013</I>
<P><UL>
<LI>Previous message: <A HREF="000070.html">[99s-extend] Big body via REST
</A></li>
<LI>Next message: <A HREF="000072.html">[99s-extend] Login page and session based auth example
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#71">[ date ]</a>
<a href="thread.html#71">[ thread ]</a>
<a href="subject.html#71">[ subject ]</a>
<a href="author.html#71">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>Get it. When something happed with client or network, socket will
broke, and Transport:send/2 will return {error, closed}, etc.
So, just make sure each Transport:send(...) is correct, like this:
ok = Transport:send(Socket, Data),
the rest will be handle by cowboy.
On Mon, Mar 18, 2013 at 4:39 PM, Wu Ray <<A HREF="https://lists.ninenines.eu/listinfo/extend">mjollnir.ray at gmail.com</A>> wrote:
>>><i> Hi list,
</I>>>><i>
</I>>>><i> how properly send big response (hundreds of megabytes) via REST callback? As far as I can see REST handler in cowboy handles special case for callback functions (cowboy_rest.erl, line 844): {stream, StreamFun} - is it right place for stream big response from SQL database?
</I>>>><i>
</I>>><i>Hey,
</I>>><i>
</I>>><i>If you know the size, reply with {stream, Size, StreamFun}, otherwise
</I>>><i>{stream, StreamFun}, with StreamFun the function that will send all the
</I>>><i>data to the socket.
</I>><i>
</I>><i> Hi, guys,
</I>><i> my problem is, if the client is closed or network broken, how to
</I>><i> handle these situation with cowboy.
</I>
</PRE>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI>Previous message: <A HREF="000070.html">[99s-extend] Big body via REST
</A></li>
<LI>Next message: <A HREF="000072.html">[99s-extend] Login page and session based auth example
</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#71">[ date ]</a>
<a href="thread.html#71">[ thread ]</a>
<a href="subject.html#71">[ subject ]</a>
<a href="author.html#71">[ author ]</a>
</LI>
</UL>
<hr>
<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
mailing list</a><br>
</body></html>
|