Checking To See If CFFlush Has Already Been Executed Part II

Posted November 3, 2006 at 8:48 AM by Ben Nadel

Tags: ColdFusion

A while back, I posted that you could check to see if CFFlush had been executed earlier in the page processing by trying to set the header and catching any errors that were thrown. This morning, though, I was poking around in ColdFusion's page context (returned via GetPageContext()) and it turns out there is a much more simple way to do this; all you have to do is check to see if the response headers have been committed (written to the output stream):

  • <!--- Check to see if a CFFlush tag has been executed. --->
  • CFFlush: #GetPageContext().GetResponse().IsCommitted()#
  •  
  • <!--- Flush the page. --->
  • <cfflush />
  •  
  • <!--- Check to see if a CFFlush tag has been executed. --->
  • CFFlush: #GetPageContext().GetResponse().IsCommitted()#

This gives us the output:

No
Yes

That's some easy stuff right there. No, keep in mind, this is not just for the CFFlush tag. This is a general way to see if content has already been sent to the browser.



Reader Comments

Nov 3, 2006 at 9:28 AM // reply »
111 Comments

Hey Ben,

Just general comment (not post specific). Lots of very cool posts - really enjoying all this. I notice Andy's linking to some of your posts too for the Scottish CFUG guys (and others) at http://www.creative-restraint.co.uk/blog/index.cfm/2006/11/3/Weekly-Blog-Round-Up.

One small thing - bennadel.com works, but www.bennadel.com doesn't. Any way you could fix the DNS and/or host headers so you allow both (or set up a redirect)?


Nov 3, 2006 at 11:31 AM // reply »
10,640 Comments

Pete,

Thanks for the heads up on the www issue. I have to say that both work for me. But, I talked to one of my more server-savvy co-workers and he says that while all the server stuff is set up to handle it, there is a chance IIS doesn't have it correct. We are waiting for our production box login (from my boss) and we will check the host headers.

I of course know nothing about all this jazz :)

Glad you are enjoying the posts. I am working my way through posts right now. I unfortuantely cannot contribute opinions regarding DAO vs. Gateways cause I don't know that stuff yet... but hopefully I will soon.


Nov 3, 2006 at 12:29 PM // reply »
10,640 Comments

Pete,

The server guys here tell me there is no reason that www.bennadel.com should not be working. Do you have any suggestions?


Nov 3, 2006 at 1:27 PM // reply »
92 Comments

No trouble here viewing your site with www. infront of the domain name. A great post. I've seen the same implemented in the index.cfm of cfwheels (but for a different purpose than cfflush but still deals with output to the browser) and currently use it myself for something new I built. Comes in handy.


Nov 3, 2006 at 1:51 PM // reply »
111 Comments

Ooops - sorry having u chase round Ben - my bad.

Did a link in a comment to your site and had a period in the URL so it was www.bennadel.com. that didn't work (trailing period). Sorry about that! I've just been caught out by the www thing back when I first started admin'ing my sites and I jumped to the (wrong) conclusion.

Say sorry to the server guy for me!


Nov 3, 2006 at 3:19 PM // reply »
10,640 Comments

No worries :) The server guy has to earn his keep ;)


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Feb 10, 2012 at 7:21 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
Update! Instead of $(eval(options.insertAfter)).after(data['insertData']); I now use: var ajaxNode = document.createElement('span'); var parent = $(eval(options.insertAfter))[0].parentNode; ... read »
Feb 10, 2012 at 6:18 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
encountered this same, what I consider, jQuery bug last week. I'm building a site in which I load some content via AJAX. This content contains Linkedin share button placeholders which Linkedin API ne ... read »
Feb 10, 2012 at 11:30 AM
Cross-Origin Resource Sharing (CORS) AJAX Requests Between jQuery And Node.js
After you understand the concepts here, this is an awesome cheatsheet for enabling CORS in just about anything http://enable-cors.org/ ... read »
JM
Feb 10, 2012 at 9:10 AM
My Safari Browser SQLite Database Hello World Example
@Amy, Here is a very good tutorial on how to use JOIN: http://www.sqltutorial.org/sqljoin-innerjoin.aspx ... read »
Feb 10, 2012 at 4:42 AM
Building A Twitter-Inspired RESTful API Architecture In ColdFusion
This is great, very useful Ben. I spotted a small typo in the api.cgm listing: <cfthrow type="Unauthroized" /> Cheers Stefan ... read »
Feb 9, 2012 at 10:35 PM
CFDirectory Filtering Uses Pipe Character For Multiple Filters (Thanks Steve Withington)
I was wondering if there would be a filter you could apply so that you got everything but what you included in the filter. As in show me all docs that are not a .pdf. ... read »
Feb 9, 2012 at 10:29 PM
Learning ColdFusion 9: Application-Specific Data Sources
@Ben, No offence, but if people were really wanting advanced features they would be using a platform like ASP.NET MVC. CFML is so structurally compromised as a tag-based scripting language that ... read »
Feb 9, 2012 at 10:03 PM
Subversion - Cleanup Failed To Process The Following Paths
@Leviaguirre, do you still have problems with this? ... read »