package com.cynergysystems.filter;

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.ServletException;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class FlashHttpStatusCodeFilter implements Filter
{
	private boolean DEBUG = false;


	public void init(FilterConfig config)
	{
	}


	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
	{
		com.cynergysystems.servlet.HttpServletResponseWrapper wrapper = new com.cynergysystems.servlet.HttpServletResponseWrapper((javax.servlet.http.HttpServletResponse)response);

		java.util.Enumeration headers = ((javax.servlet.http.HttpServletRequest)request).getHeaderNames();

		while( headers.hasMoreElements() )
		{
			String headerName = (String)headers.nextElement();
			if ( headerName.equals( "x-flash-version" ) )
			{
				wrapper.setFlashPlayer(true);
			}
		}

		chain.doFilter(request, (javax.servlet.ServletResponse)wrapper);
	}


	public void destroy()
	{
	}


	private void debug(String msg)
	{
		if (DEBUG)
		{
			System.out.println(msg);
		}
	}
}

