⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mrequestwindow.java

📁 httptunnel.jar httptunnel java 源码
💻 JAVA
字号:
package net.jumperz.app.MDoorman.windows;

import org.eclipse.swt.graphics.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.layout.*;

import java.io.*;
import java.util.*;

import net.jumperz.gui.*;
import net.jumperz.app.MDoorman.*;
import net.jumperz.util.*;
import net.jumperz.net.*;

public class MRequestWindow
extends MAbstractTextWindow
{
private static final String WINDOW_NAME = "Request";
// --------------------------------------------------------------------------------
public MRequestWindow()
{
super( WINDOW_NAME, new Shell( MDoorman.getInstance().mainShell, WINDOW_STYLE ) );
}
// --------------------------------------------------------------------------------
protected void init3()
{
text.addListener( SWT.Modify, this );
type = MBreak.TYPE_REQUEST;
}
// --------------------------------------------------------------------------------
public void updateGui()
{
MBaseSession session = doorman.selectedSession;
if( session == null )
	{
	text.setText( "" );
	}
else
	{
	text.setText( MStringUtil.byteArrayToString( session.getRequestByte(), doorman.getEnc() ) );
	sendButton.setEnabled( ( session.getState() == MSession.RQ_MODIFY ) );
	disconnectButton.setEnabled( ( session.getState() == MSession.RQ_MODIFY ) );
	}
updateMenus();
}
// --------------------------------------------------------------------------------
protected void onSendButtonClick()
{
MBaseSession session = doorman.selectedSession;
if( session != null )
	{
	String s = text.getText();
	String method = MRegEx.getMatch( "^[A-Z]{1,10}", s );
	session.setMethod( method );

	session.setRequestByte( MStringUtil.getBytes( s, doorman.getEnc() ) );
	session.sendRequest();
	}
}
// --------------------------------------------------------------------------------
protected void onDisconnectButtonClick()
{
MBaseSession session = doorman.selectedSession;
if( session != null )
	{
	session.errorClose();
	}
}
// --------------------------------------------------------------------------------
protected void handleEvent3( Event event )
{
if( event.widget == text )
	{
	switch( event.type )
		{
		case SWT.Modify:
			onTextModify();
			break;
		}
	}
}
// --------------------------------------------------------------------------------
private void onTextModify()
{
clItem.setEnabled( false );
if( text.getText().equals( "" ) )
	{
	doorman.getQueryWindow.updateGui( "" );
	doorman.postQueryWindow.updateGui( "" );
	}
try
	{
		//Get query
	MHttpRequest request = new MHttpRequest( text.getText() );
	clItem.setEnabled( true );
	MRequestUri uri = new MRequestUri( request.getUri() );
	doorman.getQueryWindow.updateGui( uri );
	
		//Post query
	String bodyStr = "";
	if( request.headerExists( "Content-Type" ) )
		{
		if( request.getHeaderValue( "Content-Type" ).equals( "application/x-www-form-urlencoded" ) )
			{
			if( request.hasBody() )
				{
				bodyStr = request.getBodyAsString();
				}
			}
		}
	doorman.postQueryWindow.updateGui( bodyStr );
	}
catch( IOException ignored )
	{
	}
}
// --------------------------------------------------------------------------------
protected MHttpData getHttpData( byte[] buffer )
throws IOException
{
return new MHttpRequest( buffer );
}
// --------------------------------------------------------------------------------
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -