<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/htt/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 11 Mar 2018 10:35:27 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/htt/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v28
+++ v29
@@ -31,7 +31,6 @@
 httest -C_REQ
 ```
 # EXAMPLES
-[TOC]
 ## Auto Cookie

 Automatic cookie handling. But do not handle path or stuff like that, it just sends a received cookie on a given connection. If need more features do it with _MATCH or ask for new feature ;) 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:35:27 -0000</pubDate><guid>https://sourceforge.netf95402aed23b838514a3c16814adfae1b6f2cce4</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v27
+++ v28
@@ -1,4 +1,3 @@
-[TOC]
 # INTRO
 httest is a script based tool for testing and benchmarking web applications, web servers, proxy servers and web browsers. httest can emulate clients and servers in the same test script, very useful for testing proxys.

@@ -32,6 +31,7 @@
 httest -C_REQ
 ```
 # EXAMPLES
+[TOC]
 ## Auto Cookie 

 Automatic cookie handling. But do not handle path or stuff like that, it just sends a received cookie on a given connection. If need more features do it with _MATCH or ask for new feature ;) 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:34:57 -0000</pubDate><guid>https://sourceforge.net7618117773b800eeef43bc6e5a4a23e14aa5c184</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v26
+++ v27
@@ -1,3 +1,4 @@
+[TOC]
 # INTRO
 httest is a script based tool for testing and benchmarking web applications, web servers, proxy servers and web browsers. httest can emulate clients and servers in the same test script, very useful for testing proxys.

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:34:25 -0000</pubDate><guid>https://sourceforge.net215c3a451bc9af5c24f84125d6e9d217100cd176</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v25
+++ v26
@@ -610,7 +610,7 @@
 ```

 ### Explanation:
-The command _CHUNKED to \r\n&amp;lt;chunk size="" in="" hex=""&amp;gt;\r\n. Every command do store the data in a line cache. The _FLUSH command do send all lines in the line cache, in this case all headers. The command _CHUNKED to calculate the size in the line cache, with all lines not allready flushed.
+The command _CHUNKED to \r\n&amp;lt;chunk_size_in_hex&amp;gt;\r\n. Every command do store the data in a line cache. The _FLUSH command do send all lines in the line cache, in this case all headers. The command _CHUNKED to calculate the size in the line cache, with all lines not allready flushed.
 The empty line between the headers and the body is done with the first _CHUNKED command. The Last 0 Chunkded could also be done with CHUNKED with a following newline __.

 ## Read a line
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:31:03 -0000</pubDate><guid>https://sourceforge.netc0e968b559989fb497bd687276d00acfa761703c</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v24
+++ v25
@@ -650,7 +650,7 @@
 ```

 ### Explanation:
-The Variable TIME is formated with the format string"S GMT" and stored in the variable DATE. See [http://www.netadmintools.com/html/3strftime.man.html|man page for strftime] for format details.
+The Variable TIME is formated with the format string"S GMT" and stored in the variable DATE. See [man page for strftime](http://www.netadmintools.com/html/3strftime.man.html) for format details.

 ## URL encoding
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:28:46 -0000</pubDate><guid>https://sourceforge.net51b9ec5be10d7b50754f00f699cd575eb36b88eb</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v23
+++ v24
@@ -669,6 +669,21 @@
 ### Explanation:
 The string foo bar&amp;amp;blafasel will be stored URL encoded in the variable VAR as "foo+bar%26blafasel"

+## Use XPath
+Httest 2.2.1 do integrate the power of gnoms libxml2 XPath support.
+
+```
+CLIENT
+_REQ www.google.com 80
+__GET / HTTP/1.1
+__Host: www.google.com
+__
+_WAIT BUF
+_HTML:PARSE VAR(BUF)
+_HTML:XPATH /html/body/a[1] result
+_DEBUG $result
+END
+```

 # PROJECT INFOS
 [[members limit=20]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:27:29 -0000</pubDate><guid>https://sourceforge.net5fba56a38acb835c9bb4e1c397cb4121ca35e4db</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v22
+++ v23
@@ -17,10 +17,19 @@
 ```
 and run httest with this script with the following command:
 ```
-./httest simple.htt
+httest simple.htt
 ```

 The test script gets googles root and test if we get a 200 OK. If not the script will fail else it will terminate with a OK and exit code 0.
+## Useful
+To list all httest script commands run
+```
+httest -L
+```
+To get help for a specific script command run for example
+```
+httest -C_REQ
+```
 # EXAMPLES
 ## Auto Cookie 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:26:13 -0000</pubDate><guid>https://sourceforge.net1752f285ebd0bf01a54ab67c2f293b3d7d32d277</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v21
+++ v22
@@ -109,28 +109,23 @@
 ## Cut Session and Use It
 Many times you have to login and test with a valid session. Below is a very simple example how to cut session infos out of the socket stream.

-```
+```noformat
 CLIENT
   _REQ localhost 8080
   __GET / HTTP/1.1
   __Host: localhost:8080
   __
-  _MATCH headers "Set-Cookie: JSessionId=(.*);" SESSION
+  _MATCH headers "Set-Cookie: SessionId=([^;]*);" SESSION
   _WAIT

   _REQ localhost 8080
   __GET / HTTP/1.1
   __Host: localhost:8080
-  __Cookie: JSessionId=$SESSION
+  __Cookie: SessionId=$SESSION
   __
   _WAIT
 END

-SERVER 8080
-END
-```
-
-```httest 
 SERVER 8080
   _RES
   _WAIT
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:21:31 -0000</pubDate><guid>https://sourceforge.net0a730733483670611f0cb2235c117b43cafebc0e</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v20
+++ v21
@@ -115,11 +115,13 @@
   __GET / HTTP/1.1
   __Host: localhost:8080
   __
+  _MATCH headers "Set-Cookie: JSessionId=(.*);" SESSION
   _WAIT

   _REQ localhost 8080
   __GET / HTTP/1.1
   __Host: localhost:8080
+  __Cookie: JSessionId=$SESSION
   __
   _WAIT
 END
@@ -128,22 +130,7 @@
 END
 ```

-```httest
-CLIENT
-  _REQ localhost 8080
-  __GET / HTTP/1.1
-  __Host: localhost
-  __
-  _MATCH headers "Set-Cookie: SessionId=(.*);" SESSION
-  _WAIT
- 
-  _REQ localhost 8080
-  _GET /foo HTTP/1.1
-  __Host: localhost
-  __Cookie: SessionId=$SESSION
-  __
-END
- 
+```httest 
 SERVER 8080
   _RES
   _WAIT
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:18:38 -0000</pubDate><guid>https://sourceforge.netfe778bb991c01878079cedfbacd748ab7b9651ad</guid></item><item><title>Home modified by christian liesch</title><link>https://sourceforge.net/p/htt/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v19
+++ v20
@@ -108,6 +108,25 @@

 ## Cut Session and Use It
 Many times you have to login and test with a valid session. Below is a very simple example how to cut session infos out of the socket stream.
+
+```
+CLIENT
+  _REQ localhost 8080
+  __GET / HTTP/1.1
+  __Host: localhost:8080
+  __
+  _WAIT
+  
+  _REQ localhost 8080
+  __GET / HTTP/1.1
+  __Host: localhost:8080
+  __
+  _WAIT
+END
+
+SERVER 8080
+END
+```

 ```httest
 CLIENT
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">christian liesch</dc:creator><pubDate>Sun, 11 Mar 2018 10:17:10 -0000</pubDate><guid>https://sourceforge.netb5e52985c5e0e4f269e57373bcc19584d52a2b4f</guid></item></channel></rss>