01: /*
02: * soapUI, copyright (C) 2004-2007 eviware.com
03: *
04: * soapUI is free software; you can redistribute it and/or modify it under the
05: * terms of version 2.1 of the GNU Lesser General Public License as published by
06: * the Free Software Foundation.
07: *
08: * soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
09: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10: * See the GNU Lesser General Public License for more details at gnu.org.
11: */
12:
13: package com.eviware.soapui.impl.wsdl.submit.transports.http;
14:
15: import java.io.ByteArrayInputStream;
16: import java.io.IOException;
17: import java.io.InputStream;
18: import java.io.OutputStream;
19:
20: import javax.activation.DataSource;
21: import javax.servlet.http.HttpServletRequest;
22:
23: import com.eviware.soapui.SoapUI;
24: import com.eviware.soapui.support.Tools;
25:
26: /**
27: * DataSource for a MockRequest
28: *
29: * @author ole.matzura
30: */
31:
32: public class MockRequestDataSource implements DataSource {
33: private byte[] data;
34: private String contentType;
35: private String name;
36:
37: public MockRequestDataSource(HttpServletRequest request) {
38: try {
39: data = Tools.readAll(request.getInputStream(), 0)
40: .toByteArray();
41: contentType = request.getContentType();
42: name = "Request for " + request.getPathInfo();
43: } catch (Exception e) {
44: SoapUI.logError(e);
45: }
46: }
47:
48: public String getContentType() {
49: return contentType;
50: }
51:
52: public InputStream getInputStream() throws IOException {
53: return new ByteArrayInputStream(data);
54: }
55:
56: public String getName() {
57: return name;
58: }
59:
60: public OutputStream getOutputStream() throws IOException {
61: return null;
62: }
63: }
|