code: private void sendRequest(String header, byte[] body) throws IOException {
          // Send entire message in one write, else suffer the fate of weird TCP/IP stacks.
          byte[] headerBytes = Utils.toBytes(header);
          byte[] requestBytes = headerBytes;
          if (body != null && body.length > 0) {
              requestBytes = new byte[headerBytes.length + body.length];
              System.arraycopy(headerBytes, 0, requestBytes, 0, headerBytes.length);
              System.arraycopy(body, 0, requestBytes, headerBytes.length, body.length);
          }
          
          // Send the header and body (if any) and flush the result.
          m_outStream.write(requestBytes);
          m_outStream.flush();
      }
docs: Send the request represented by the given header and optional body.