本文整理汇总了Java中com.sun.net.httpserver.HttpExchange.getRequestMethod方法的典型用法代码示例。如果您正苦于以下问题:Java HttpExchange.getRequestMethod方法的具体用法?Java HttpExchange.getRequestMethod怎么用?Java HttpExchange.getRequestMethod使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.net.httpserver.HttpExchange
的用法示例。
在下文中一共展示了HttpExchange.getRequestMethod方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handle
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
public void handle(HttpExchange exchange) throws IOException {
String requestMethod = exchange.getRequestMethod();
System.out.println(requestMethod + " /post");
if (requestMethod.equalsIgnoreCase("POST")) {
String body = new BufferedReader(
new InputStreamReader(
exchange.getRequestBody()
)
).lines().collect(Collectors.joining("\n"));
String[] parts = body.split("=");
String name = null;
if (parts.length > 1) {
name = parts[1];
}
exchange.getResponseHeaders().set(Constants.CONTENTTYPE, Constants.TEXTHTML);
exchange.sendResponseHeaders(200, 0);
OutputStream responseBody = exchange.getResponseBody();
responseBody.write(Constants.getIndexHTML(name));
responseBody.close();
} else {
new NotImplementedHandler().handle(exchange);
}
}
示例2: handleExchange
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
private void handleExchange(HttpExchange msg) throws IOException {
WSHTTPConnection con = new ServerConnectionImpl(adapter,msg);
try {
if (fineTraceEnabled) {
LOGGER.log(Level.FINE, "Received HTTP request:{0}", msg.getRequestURI());
}
String method = msg.getRequestMethod();
if(method.equals(GET_METHOD) || method.equals(POST_METHOD) || method.equals(HEAD_METHOD)
|| method.equals(PUT_METHOD) || method.equals(DELETE_METHOD)) {
adapter.handle(con);
} else {
if (LOGGER.isLoggable(Level.WARNING)) {
LOGGER.warning(HttpserverMessages.UNEXPECTED_HTTP_METHOD(method));
}
}
} finally {
msg.close();
}
}
示例3: handle
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
public void handle(HttpExchange t) throws IOException {
String verb = t.getRequestMethod();
String path = t.getRequestURI().getPath();
if (path.equals("/session") && verb.equals("POST")) {
System.out.println("Creating a new session!");
sendOk(t);
return;
}
if (path.equals("/session/" + SESSION_ID + "/screenshot") && verb.equals("GET")) {
System.out.println("Taking a screenshot");
sendScreenshot(t);
return;
}
sendOk(t);
}
示例4: handle
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
public void handle(HttpExchange exchange) {
try {
exchange.getRequestMethod();
exchange.getRequestBody().close();
Headers respHeaders = null;
if(!accessed && (source == null)) { //context hasn't been accessed before
source = exchange.getRemoteAddress().getHostString();
accessed = true;
respHeaders = exchange.getResponseHeaders();
respHeaders.add("Content-Type","text/plain");
exchange.sendResponseHeaders(200,path.length());
OutputStream os = exchange.getResponseBody();
os.write(path.getBytes());
os.flush();
os.close();
accessList.put(path,source);
} else {
respHeaders = exchange.getResponseHeaders();
exchange.sendResponseHeaders(404,0);
exchange.getResponseBody().close();
}
} catch(Exception e) {
System.err.println("Unforeseen error occurred!");
e.printStackTrace();
}
}
示例5: handle
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
@Override
public void handle(HttpExchange he) throws IOException {
String method = he.getRequestMethod();
InputStream is = he.getRequestBody();
if (method.equalsIgnoreCase("POST")) {
String requestBody = new String(is.readAllBytes(), US_ASCII);
if (!requestBody.equals(POST_BODY)) {
he.sendResponseHeaders(500, -1);
ok = false;
} else {
he.sendResponseHeaders(200, -1);
ok = true;
}
} else { // GET
he.sendResponseHeaders(200, RESPONSE.length());
OutputStream os = he.getResponseBody();
os.write(RESPONSE.getBytes(US_ASCII));
os.close();
ok = true;
}
}
示例6: handle
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
@Override
public void handle(HttpExchange he) throws IOException {
String method = he.getRequestMethod();
InputStream is = he.getRequestBody();
Headers h = he.getResponseHeaders();
h.add("X-Foo-Response", "resp");
he.sendResponseHeaders(200, RESPONSE.length());
OutputStream os = he.getResponseBody();
os.write(RESPONSE.getBytes(US_ASCII));
os.close();
}
示例7: generateCurl
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
public static String generateCurl(HttpExchange event) throws IOException {
// uri
String uri = getSchema(event) + "://" + event.getLocalAddress() + event.getRequestURI().toString();
// header
StringBuilder headers = new StringBuilder();
event.getRequestHeaders().entrySet()
.forEach(header -> header.getValue()
.forEach(value -> {
headers.append(" -H \"" + header.getKey() + ":" + value + "\"");
}));
// body
String body;
try (BufferedReader buffer = new BufferedReader(new InputStreamReader(event.getRequestBody()))) {
body = buffer.lines().collect(Collectors.joining("\n"));
}
String curl = "curl" +
" -v" +
" -X " + event.getRequestMethod() +
" " + uri;
if (headers.length() > 0) {
curl += headers;
}
if (!body.isEmpty()) {
curl += " -d '" + body + "'";
}
return curl;
}
示例8: handle
import com.sun.net.httpserver.HttpExchange; //导入方法依赖的package包/类
public void handle(HttpExchange t)
throws IOException {
InputStream is = t.getRequestBody();
Headers map = t.getRequestHeaders();
Headers rmap = t.getResponseHeaders();
OutputStream os = t.getResponseBody();
URI uri = t.getRequestURI();
String path = uri.getPath();
while (is.read() != -1) ;
is.close();
File f = new File(_docroot, path);
if (!f.exists()) {
notfound(t, path);
return;
}
String method = t.getRequestMethod();
if (method.equals("HEAD")) {
rmap.set("Content-Length", Long.toString(f.length()));
t.sendResponseHeaders(200, -1);
t.close();
} else if (!method.equals("GET")) {
t.sendResponseHeaders(405, -1);
t.close();
return;
}
if (path.endsWith(".html") || path.endsWith(".htm")) {
rmap.set("Content-Type", "text/html");
} else {
rmap.set("Content-Type", "text/plain");
}
t.sendResponseHeaders (200, f.length());
FileInputStream fis = new FileInputStream(f);
int count = 0;
try {
byte[] buf = new byte[16 * 1024];
int len;
while ((len = fis.read(buf)) != -1) {
os.write(buf, 0, len);
count += len;
}
} catch (IOException e) {
e.printStackTrace();
}
fis.close();
os.close();
}