# Class PostWriter

java.lang.Object
org.apache.jmeter.protocol.http.sampler.PostWriter

Direct Known Subclasses:
  `PutWriter`

public class PostWriter extends Object
Class for setting the necessary headers for a POST request, and sending the body of the POST.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final String`
`BOUNDARY`
The boundary string between multiparts
`static final String`
`ENCODING`
`protected byte[]`
`formDataPostBody`
The form data that is going to be sent in post body
`protected byte[]`
`formDataUrlEncoded`
The form data that is going to be sent as url encoded

## Constructor Summary

Constructors
Constructor
Description
`PostWriter()`
Constructor for PostWriter.
`PostWriter(String boundary)`
Constructor for PostWriter

## Method Summary

Modifier and Type
Method
Description
`protected String`
`getBoundary()`
Get the boundary string, used to separate multiparts
`String`
`sendPostData(URLConnection connection, HTTPSamplerBase sampler)`
Send POST data from Entry to the open connection.
`void`
`setHeaders(URLConnection connection, HTTPSamplerBase sampler)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### BOUNDARY

protected static final String BOUNDARY
The boundary string between multiparts

See Also:
  - Constant Field Values

### ENCODING

public static final String ENCODING

See Also:
  - Constant Field Values

### formDataUrlEncoded

protected byte[] formDataUrlEncoded
The form data that is going to be sent as url encoded

### formDataPostBody

protected byte[] formDataPostBody
The form data that is going to be sent in post body

## Constructor Details

### PostWriter

public PostWriter()
Constructor for PostWriter. Uses the PostWriter.BOUNDARY as the boundary string

### PostWriter

public PostWriter(String boundary)
Constructor for PostWriter

Parameters:
  `boundary` - the boundary string to use as marker between multipart parts

## Method Details

### sendPostData

public String sendPostData(URLConnection connection, HTTPSamplerBase sampler) throws IOException
Send POST data from Entry to the open connection.

Parameters:
  `connection` - the open connection to use for sending data
  `sampler` - sampler to get information about what to send
Returns:
  the post body sent. Actual file content is not returned, it is just shown as a placeholder text "actual file content"
Throws:
  `IOException` - when writing data fails

### setHeaders

public void setHeaders(URLConnection connection, HTTPSamplerBase sampler) throws IOException

Throws:
  `IOException`

### getBoundary

protected String getBoundary()
Get the boundary string, used to separate multiparts

Returns:
  the boundary string