blob: e6625614aad796e5c08e3758623843a92dc5800d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.felix.upnp.basedriver.importer.util;
import java.io.*;
import java.net.*;
/*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
public class HTTPRequestForIcon {
private URL url;
public HTTPRequestForIcon(URL url) {
this.url = url;
}
public InputStream getInputStream() throws IOException {
//TODO we should speak about that
InetAddress inet = InetAddress.getByName(url.getHost());
int port = url.getPort();
Socket socket = null;
socket = new Socket(inet, port);
OutputStream out = null;
out = socket.getOutputStream();
String CRLF = "\r\n";
url.getFile();
String request = "GET " + url.getPath() + " " + "HTTP/1.1" + CRLF
+ "Host: " + url.getHost() + CRLF + "Connection: " + "close"
+ CRLF + CRLF;
//System.out.println(request);
byte[] get = request.getBytes();
out.write(get, 0, get.length);
InputStream in = socket.getInputStream();
boolean exit = true;
while (exit) {
byte[] b = new byte[1];
in.read(b, 0, b.length);
if (b[0] == '\r') {
in.read(b, 0, b.length);
while (b[0] == '\r') {
in.read(b, 0, b.length);
}
if (b[0] != '\n') {
continue;
}
in.read(b, 0, b.length);
if (b[0] != '\r') {
continue;
}
in.read(b, 0, b.length);
if (b[0] != '\n') {
continue;
}
exit = false;
}
}
return in;
/*
* HTTPResponse response=new HTTPResponse(in);
* InputStream iconInStream=response.getContentInputStream();
* return iconInStream;
*
*/
/*
*
* byte[] buff = new byte[maxLength]; int initial = 0; while (initial <
* maxLength - 1) { int read = 0; read = in.read(buff, initial, 1024);
* if (read == -1) break; initial += read; } System.out.println(new
* String(buff));
*/
}
}