/*
HttpRequest.java
Copyright (c) 2014 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.server.http;
import java.util.Map;
/**
* Httpリクエストのデータを保持するクラス.
*
* @author NTT DOCOMO, INC.
*/
public interface HttpRequest {
/**
* Httpリクエストのメソッドを定義する.
*
* @author NTT DOCOMO, INC.
*/
enum Method {
/**
* GETメソッドを定義する.
*/
GET("GET"),
/**
* POSTメソッドを定義する.
*/
POST("POST"),
/**
* PUTメソッドを定義する.
*/
PUT("PUT"),
/**
* DELETEメソッドを定義する.
*/
DELETE("DELETE");
private String mValue;
Method(final String value) {
mValue = value;
}
public static Method valueFrom(final String value) {
for (Method m : values()) {
if (m.mValue.equalsIgnoreCase(value)) {
return m;
}
}
return null;
}
}
/**
* HTTPメソッドを取得する.
*
* @return HTTPメソッド名
*/
Method getMethod();
/**
* リクエストURIを取得する.
* <p>
* 以下のようなURIを取得できます。
* <ul><li>/gotapi/serviceDiscovery</li></ul>
* </p>
* @return uri リクエストURI
*/
String getUri();
/**
* ヘッダーを取得する.
*
* @return ヘッダー一覧
*/
Map<String, String> getHeaders();
/**
* マルチパートで送られてきたファイルを取得する.
*
* @return ファイル一覧
*/
Map<String, String> getFiles();
/**
* パラメータ引数一覧を取得する.
* @return パラメータ一覧
*/
Map<String, String> getQueryParameters();
/**
* パラメータの文字列を取得する.
* @return パラメータ
*/
String getQueryString();
}