📄 http.java
字号:
throws STAFException
{
// Verify the requester has at least trust level 2
STAFResult trustResult = STAFUtil.validateTrust(
2, fServiceName, "QUERY", fLocalMachineName, info);
if (trustResult.rc != STAFResult.Ok) return trustResult;
// Parse the request
STAFCommandParseResult pResult = infoParser.parse(info.request);
if (pResult.rc != 0)
{
return new STAFResult(STAFResult.InvalidRequestString,
pResult.errorBuffer);
}
// Get resolved value for SESSION option and make sure it's an integer
STAFResult res = STAFUtil.resolveRequestVarAndCheckInt(
SESSION, pResult.optionValue(SESSION), sHandle, info.requestNumber);
if (res.rc != 0) return res;
int sessionId = Integer.parseInt(res.result);
// Get the session
WebSession session;
try
{
session = sessionList.getSession(sessionId);
}
catch (InvalidSessionIDException e)
{
return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
}
STAFMarshallingContext mc = new STAFMarshallingContext();
String id = "";
int idType = -1;
if (pResult.optionTimes(ID) > 0)
{
// Resolve the ID option value
res = STAFUtil.resolveRequestVar(
pResult.optionValue(ID), sHandle, info.requestNumber);
if (res.rc != 0) return res;
id = res.result;
idType = WebSession.ID_ID_TYPE;
}
else if (pResult.optionTimes(NAME) > 0)
{
// Resolve the NAME option value
res = STAFUtil.resolveRequestVar(
pResult.optionValue(NAME), sHandle, info.requestNumber);
if (res.rc != 0) return res;
id = res.result;
idType = WebSession.NAME_ID_TYPE;
}
else if (pResult.optionTimes(INDEX) > 0)
{
// Resolve the INDEX option value
res = STAFUtil.resolveRequestVar(
pResult.optionValue(INDEX), sHandle, info.requestNumber);
if (res.rc != 0) return res;
id = res.result;
idType = WebSession.INDEX_ID_TYPE;
}
if (pResult.optionTimes(DEFAULTHEADER) > 0)
{
// QUERY DEFAULTHEADER
res = STAFUtil.resolveRequestVar(
pResult.optionValue(DEFAULTHEADER), sHandle, info.requestNumber);
if (res.rc != 0) return res;
String key = res.result;
try
{
return new STAFResult(STAFResult.Ok,
session.getDefaultHeaderValue(key));
}
catch (InvalidElementIDException e)
{
return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
}
}
else if (pResult.optionTimes(AUTHENTICATIONHOST) > 0)
{
// QUERY AUTHENTICATIONHOST
mc.setMapClassDefinition(fAuthHostMapClass);
Map authHostMap = fAuthHostMapClass.createInstance();
res = STAFUtil.resolveRequestVar(
pResult.optionValue(AUTHENTICATIONHOST), sHandle,
info.requestNumber);
if (res.rc != 0) return res;
String key = res.result;
try
{
String[] values = session.getAuthenticationSetValues(key);
String user = values[0];
String password = values[1];
String domain = values[2];
if (user != null && !user.equals(""))
authHostMap.put("user", user);
if (password != null && !password.equals(""))
authHostMap.put("password", "*******");
if (domain != null && !domain.equals(""))
authHostMap.put("domain", domain);
mc.setRootObject(authHostMap);
}
catch (InvalidElementIDException e)
{
return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
}
}
else if (pResult.optionTimes(FORM) > 0)
{
try
{
if (id.equals("") && idType == -1)
{
id = "1";
idType = WebSession.INDEX_ID_TYPE;
}
if (pResult.optionTimes(CONTROLNAME) > 0)
{
// QUERY FORM CONTROLNAME
mc.setMapClassDefinition(fFormControlMapClass);
Map formMap = fFormControlMapClass.createInstance();
res = STAFUtil.resolveRequestVar(
pResult.optionValue(CONTROLNAME), sHandle,
info.requestNumber);
if (res.rc != 0) return res;
String controlName = res.result;
HashMap data = session.summarizeFormControl(
id, idType, controlName);
String type = (String)data.get(Parameter.TYPE);
String disabled = (String)data.get(Parameter.DISABLED);
String readOnly = (String)data.get(Parameter.READONLY);
String value = (String)data.get(Parameter.VALUE);
if (type != null && !type.equals(""))
formMap.put("type", type);
if (disabled != null && !disabled.equals(""))
formMap.put("disabled", disabled);
if (readOnly != null && !readOnly.equals(""))
formMap.put("readOnly", readOnly);
if (value != null && !value.equals(""))
formMap.put("value", STAFUtil.maskPrivateData(value));
formMap.put("possibleValueList",
(List)data.get(Parameter.POSSIBLEVALUES));
mc.setRootObject(formMap);
}
else
{
// QUERY FORM (Summarize the form)
mc.setMapClassDefinition(fFormMapClass);
Map formMap = fFormMapClass.createInstance();
HashMap data = session.summarizeForm(id, idType);
String formIndex = data.get(WebElement.INDEX).toString();
String formName = (String)data.get(WebElement.NAME);
String formID = (String)data.get(WebElement.ID);
String method = (String)data.get(WebSession.REQUEST_METHOD);
String action = (String)data.get(WebSession.REQUEST_URL);
if (formIndex != null && !formIndex.equals(""))
formMap.put("formIndex", formIndex);
if (formName != null && !formName.equals(""))
formMap.put("formName", formName);
if (formID != null && !formID.equals(""))
formMap.put("formID", formID);
if (method != null && !method.equals(""))
formMap.put("method", method);
if (action != null && !action.equals(""))
formMap.put("targetUrl", action);
formMap.put("headerMap",
(HashMap)data.get(WebSession.REQUEST_HEADERS));
mc.setRootObject(formMap);
}
}
catch (InvalidElementIDException e)
{
return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
}
}
else if (pResult.optionTimes(COOKIE) > 0)
{
// QUERY COOKIE
mc.setMapClassDefinition(fCookieMapClass);
Map cookieMap = fCookieMapClass.createInstance();
try
{
HashMap data = session.summarizeCookie(id);
String value = (String)data.get(CookieAccess.VALUE);
String domain = (String)data.get(CookieAccess.DOMAIN);
String path = (String)data.get(CookieAccess.PATH);
String expirationDate = null;
if (data.get(CookieAccess.EXPIRATION) != null)
expirationDate = data.get(CookieAccess.EXPIRATION).toString();
if (value != null && !value.equals(""))
cookieMap.put("value", value);
if (domain != null && !domain.equals(""))
cookieMap.put("domain", domain);
if (path != null && !path.equals(""))
cookieMap.put("path", path);
if (expirationDate != null && !expirationDate.equals(""))
cookieMap.put("expirationDate", expirationDate);
mc.setRootObject(cookieMap);
}
catch (InvalidCookieIDException e)
{
return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
}
}
else if (pResult.optionTimes(LINK) > 0)
{
// QUERY LINK
mc.setMapClassDefinition(fLinkMapClass);
Map linkMap = fLinkMapClass.createInstance();
try
{
HashMap data = session.summarizeLink(id, idType);
String linkName = null;
String linkID = null;
String href = null;
if (data.get(WebElement.NAME) != null)
linkName = (String)data.get(WebElement.NAME);
if (data.get(WebElement.ID) != null)
linkID = (String)data.get(WebElement.ID);
if (data.get(WebLink.HREF) != null)
href = (String)data.get(WebLink.HREF);
linkMap.put("linkIndex", data.get(WebElement.INDEX));
if (linkID != null && !linkID.equals(""))
linkMap.put("linkID", linkID);
if (linkName != null && !linkName.equals(""))
linkMap.put("linkName", linkName);
if (href != null && !href.equals(""))
linkMap.put("href", href);
mc.setRootObject(linkMap);
}
catch (InvalidElementIDException e)
{
return new STAFResult(STAFResult.DoesNotExist, e.getMessage());
}
}
else
{
// QUERY SESSION <Session> (Summarize the session)
mc.setMapClassDefinition(fSessionMapClass);
mc.setMapClassDefinition(fSessionOwnerMapClass);
Map sessionMap = fSessionMapClass.createInstance();
Map ownerMap = fSessionOwnerMapClass.createInstance();
HashMap data = session.getSummary();
String url = (String)data.get(WebSession.URL);
String title = (String)data.get(WebSession.TITLE);
String statusCode = (String)data.get(
WebSession.RETURN_STATUS_CODE);
String statusMessage = (String)data.get(
WebSession.RETURN_STATUS_MESSAGE);
String cookiePolicy = (String)data.get(WebSession.POLICY);
String followsRedirects = (String)data.get(WebSession.REQUEST_REDIRECT);
String ownerInstanceUUID= (String)data.get(
WebSession.OWNER_INSTANCE_UUID);
String ownerMachine = (String)data.get(WebSession.OWNER_MACHINE);
String ownerHandleName = (String)data.get(
WebSession.OWNER_HANDLE_NAME);
String ownerHandle = (String)data.get(WebSession.OWNER_HANDLE);
if (url != null && !url.equals(""))
sessionMap.put("url", url);
if (title != null && !title.equals(""))
sessionMap.put("title", title);
if (statusCode != null && !statusCode.equals(""))
sessionMap.put("statusCode", statusCode);
if (statusMessage != null && !statusMessage.equals(""))
sessionMap.put("statusMessage", statusMessage);
if (cookiePolicy != null && !cookiePolicy.equals(""))
sessionMap.put("cookiePolicy", cookiePolicy);
if (followsRedirects != null && !followsRedirects.equals(""))
sessionMap.put("followsRedirects", followsRedirects);
ownerMap.put("instanceUUID", ownerInstanceUUID);
ownerMap.put("machine", ownerMachine);
ownerMap.put("handle", ownerHandle);
if (ownerHandleName != null & !ownerHandleName.equals(""))
ownerMap.put("handleName", ownerHandleName);
sessionMap.put("owner", ownerMap);
mc.setRootObject(sessionMap);
}
return new STAFResult(STAFResult.Ok, mc.marshall());
}
/*****************************************************************************/
/* */
/* Method: handleList */
/* Description: gets a list of the requested entities. . */
/* Parameters: info - request info passed to acceptRequest */
/* Returns: STAFResult listing the requested entities */
/* */
/*****************************************************************************/
private STAFResult handleList(STAFServiceInterfaceLevel30.RequestInfo info)
throws STAFException
{
// Verify the requester has at least trust level 2
STAFResult trustResult = STAFUtil.validateTrust(
2, fServiceName, "LIST", fLocalMachineName, info);
if (trustResult.rc != STAFResult.Ok) return trustResult;
// Parse the result
STAFCommandParseResult pResult = infoParser.parse(info.request);
if (pResult.rc != 0)
{
return new STAFResult(STAFResult.InvalidRequestString,
pResult.errorBuffer);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -