On Feb 26, 3:05 pm, Jeppe Nejsum Madsen <je...@ingolfs.dk> wrote:
> On Fri, Feb 26, 2010 at 1:53 PM, Marius <marius.dan...@gmail.com> wrote:
>
> > On Feb 26, 1:29 pm, Jeppe Nejsum Madsen <je...@ingolfs.dk> wrote:
> >> On Fri, Feb 26, 2010 at 12:06 PM, Jeppe Nejsum Madsen <je...@ingolfs.dk> 
> >> wrote:
>
> >> > So the thread creation/scheduling and the two times file copying could be
> >> > avoided by writing directly to the output stream. But I agree this would
> >> > have to be special cased somehow. It's not an urgent issue atm, but I'll
> >> > try to see if some clean solution can be implemented.
>
> >> An idea just struck :-) Could this be handled in much the same way as
> >> a redirect? Something like
>
> >> S.sendFile("application/pdf", "myfilename.pdf", outputStream =>
> >> mylibrary.write(outputStream))
>
> >> this would throw an exception like ResponseShortcutException, lift
> >> would intercept it, write the appropriate headers and execute the
> >> passed function with the response outputstream as parameter.
>
> >> This would prohibit accidental output to response.
>
> >> Thoughts?
>
> > I would prefer something like :
>
> > final case class OutputStreamingResponse(data: (OutputStream) => Unit,
> > size: Long, headers: List[(String, String)], cookies:
> > List[HTTPCookie], code: Int) extends BasicResponse {
> > ..
> > }
>
> > hence remain consistent with Lift's response paradigm.
>
> > We *COULD* provide the OutputStrem from the servlet response but that
> > would be ok since we are in a LiftResponse and NOT inside the
> > rendering pipeline.
>
> Agreed, a cleaner solution. And this could also be used outside of a
> stateful response.

Sure it can be stateless since at the end of the day it is just a
LiftResponse.

> The size should probably be Box[Long] as it may be
> unknown.
>
> Should I create a ticket for this?

Sure, but I'm not sure who/when will take care of this. We'll see.

>
> /Jeppe

-- 
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.

Reply via email to