flex policy-file-request with jetty
3999 단어 request
jetty : org.eclipse.jetty.project-jetty-8.0.4.v20111024
1. http
a. jetty-http
add class name FlashPolicyException in package org.eclipse.jetty.http
org.eclipse.jetty.http.HttpParser add codes: line 310
// EventHandler header
byte ch;
byte[] array=_buffer.array();
try
{
if(new String(array).startsWith("<policy-file-request"))
throw new FlashPolicyException();
}
catch(FlashPolicyException e)
{
throw e;
}
catch(Exception e)
{
// no big deal
}
b. jetty-server
org.eclipse.jetty.server.AsyncHttpConnection add codes: line 69
catch (FlashPolicyException e)
{
_endp.flush(new ByteArrayBuffer("<cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"*\" /></cross-domain-policy>\0"));
_parser.reset();
_endp.close();
}
2.https:
a. jetty-io
org.eclipse.jetty.io.nio.ChannelEndPoint add codes: line 167
private String xml = "<?xml version=\"1.0\"?><cross-domain-policy><site-control permitted-cross-domain-policies=\"all\"/><allow-access-from domain=\"*\" to-ports=\"*\"/></cross-domain-policy>\0";
/* (non-Javadoc)
* @see org.eclipse.io.EndPoint#fill(org.eclipse.io.Buffer)
*/
public int fill(Buffer buffer) throws IOException
{
Buffer buf = buffer.buffer();
int len=0;
if (buf instanceof NIOBuffer)
{
final NIOBuffer nbuf = (NIOBuffer)buf;
final ByteBuffer bbuf=nbuf.getByteBuffer();
//noinspection SynchronizationOnLocalVariableOrMethodParameter
try
{
synchronized(bbuf)
{
try
{
bbuf.position(buffer.putIndex());
len=_channel.read(bbuf);
}
finally
{
String s = new String(Arrays.copyOfRange(bbuf.array(),0,bbuf.position()));
if (s.startsWith("<policy-file-request")) {
_channel.write(ByteBuffer.wrap(xml.getBytes()));
}
buffer.setPutIndex(bbuf.position());
bbuf.position(0);
}
}
if (len<0 && isOpen())
{
if (!isInputShutdown())
shutdownInput();
else if (isOutputShutdown())
_channel.close();
}
}
catch (IOException x)
{
LOG.debug(x);
try
{
close();
}
catch (IOException xx)
{
LOG.ignore(xx);
}
if (len>0)
throw x;
len=-1;
}
}
else
{
throw new IOException("Not Implemented");
}
return len;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java에서 HttpRequest Header를 가져오는 몇 가지 방법이 포털은 모든 응용 프로그램의 입구이다. 사용자가 포털에 로그인한 후에 다른 시스템에 들어가면 유사한 단일 로그인(SSO)이 필요하다.각 서브시스템에 들어갈 때 다시 로그인할 필요가 없다. 물론 유사한 기능은 전문...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.