KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snipsnap > net > filter > MultipartFilter


1 /*
2  * This file is part of "SnipSnap Wiki/Weblog".
3  *
4  * Copyright (c) 2002 Stephan J. Schmidt, Matthias L. Jugel
5  * All Rights Reserved.
6  *
7  * Please visit http://snipsnap.org/ for updates and contact.
8  *
9  * --LICENSE NOTICE--
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23  * --LICENSE NOTICE--
24  */

25 package org.snipsnap.net.filter;
26
27 import org.radeox.util.logging.Logger;
28
29 import javax.servlet.*;
30 import javax.servlet.http.HttpServletRequest JavaDoc;
31 import java.io.IOException JavaDoc;
32
33 /**
34  * A ServletFilter that parses multipart/form-data requests and wraps the data into
35  * a HttpRequestWrapper. It uses JavaMail API for parsing MIME bodies.
36  *
37  * @author Matthias L. Jugel
38  * @version $Id: MultipartFilter.java 1256 2003-12-11 13:24:57Z leo $
39  */

40 public class MultipartFilter implements Filter {
41
42   public void init(FilterConfig config) throws ServletException {
43   }
44
45   public void destroy() {
46   }
47
48   public void doFilter(ServletRequest JavaDoc request, ServletResponse response,
49                        FilterChain chain) throws IOException JavaDoc, ServletException {
50     HttpServletRequest JavaDoc req = (HttpServletRequest JavaDoc) request;
51     String JavaDoc type = req.getHeader("Content-Type");
52
53     // If this is not a multipart/form-data request continue
54
if (type == null || !type.startsWith("multipart/form-data")) {
55       chain.doFilter(req, response);
56     } else {
57       try {
58         chain.doFilter(new MultipartWrapper(req, "UTF-8"), response);
59       } catch (IllegalArgumentException JavaDoc e) {
60         Logger.warn("MultipartFilter: "+e.getMessage());
61       }
62     }
63   }
64 }
Popular Tags