1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *     http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18package tests.support;
19
20import java.io.IOException;
21import java.io.InputStream;
22import java.io.OutputStream;
23import java.net.Socket;
24
25/**
26 * This class implements the Support_Socket interface using java.net Sockets.
27 */
28public class Support_HttpSocket implements Support_Socket {
29
30    private final Socket instance;
31
32    private boolean streamOpen = false;
33
34    Support_HttpSocket(Socket socket) {
35        instance = socket;
36    }
37
38    public InputStream getInputStream() throws IOException {
39        streamOpen = true;
40        return instance.getInputStream();
41    }
42
43    public OutputStream getOutputStream() throws IOException {
44        streamOpen = true;
45        return instance.getOutputStream();
46    }
47
48    public void close() throws IOException {
49        if (!streamOpen && instance != null) {
50            instance.close();
51        }
52    }
53
54}
55