Examples of nsIBinaryInputStream


Examples of org.mozilla.interfaces.nsIBinaryInputStream

      final Mozilla mozilla = Mozilla.getInstance();
      nsIServiceManager serviceManager = mozilla.getServiceManager();
      nsIObserverService observerService = ( nsIObserverService )serviceManager.getServiceByContractID(
          "@mozilla.org/observer-service;1", nsIObserverService.NS_IOBSERVERSERVICE_IID );

      final nsIBinaryInputStream in = XPCOMManager.getInstance().newComponent( "@mozilla.org/binaryinputstream;1",
          nsIBinaryInputStream.class );

      nsIObserver httpObserver = new nsIObserver()
      {
        public void observe( nsISupports subject, String sTopic, String sData )
        {
          try
          {
            if( EVENT_HTTP_ON_MODIFY_REQUEST.equals( sTopic ) )
            {
              nsIHttpChannel httpChannel = ( nsIHttpChannel )subject
                  .queryInterface( nsIHttpChannel.NS_IHTTPCHANNEL_IID );

              if( httpChannel.getNotificationCallbacks() == null )
                return;

              nsIInterfaceRequestor interfaceRequestor = ( nsIInterfaceRequestor )httpChannel
                  .getNotificationCallbacks()
                  .queryInterface( nsIInterfaceRequestor.NS_IINTERFACEREQUESTOR_IID );

              nsIDOMWindow window = ( nsIDOMWindow )interfaceRequestor
                  .getInterface( nsIDOMWindow.NS_IDOMWINDOW_IID );

              BrowserComponent browserComponent = browserMap.get( window );
              if( browserComponent != null && browserRecordingMap.containsKey( browserComponent ) )
              {
                RecordedRequest rr = new RecordedRequest( dumpUri( httpChannel.getURI() ),
                    httpChannel.getRequestMethod() );

                nsIUploadChannel upload = ( nsIUploadChannel )httpChannel
                    .queryInterface( nsIUploadChannel.NS_IUPLOADCHANNEL_IID );

                byte[] requestData = null;
                if( upload != null )
                {
                  nsIInputStream uploadStream = upload.getUploadStream();

                  if( uploadStream != null && uploadStream.available() > 0 )
                  {
                    nsISeekableStream seekable = ( nsISeekableStream )uploadStream
                        .queryInterface( nsISeekableStream.NS_ISEEKABLESTREAM_IID );

                    long pos = seekable.tell();
                    long available = uploadStream.available();

                    if( available > 0 )
                    {
                      try
                      {
                        synchronized( mozilla )
                        {
                          in.setInputStream( uploadStream );
                          requestData = in.readByteArray( available );
                          String requestBody = getRequestBody( requestData );
                          if( requestBody != null && requestBody.length() > 0 )
                          {
                            rr.setContent( requestBody );
                            String contentType = getContentType( requestData );
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.