hunk.code_window:                     </ul>
                       <div className="post-body">
                           <p>{message}</p>
                           { post.filenames && post.filenames.length > 0 ?
                               <FileAttachmentList
                                   postId={post.id}
                                   channelId={post.channel_id}
  
hunk.labels: keep keep keep keep keep replace keep
hunk.after_edit:                                 filenames={post.filenames}
                                   modalId={"rhs_view_image_modal_" + post.id}
  
hunk.file_path: web/react/components/post_right.jsx
hunk.type: replace
file: package aws
  
  import (
  	"fmt"
  	"io"
  	"time"
  )
  
  var sleepDelay = func(delay time.Duration) {
  	time.Sleep(delay)
  }
  
  type lener interface {
  	Len() int
  }
  
  func BuildContentLength(r *Request) {
  	if r.HTTPRequest.Header.Get("Content-Length") != "" {
  		return
  	}
  
  	var length int64
  	switch body := r.Body.(type) {
  	case nil:
  		length = 0
  	case lener:
  		length = int64(body.Len())
  	case io.Seeker:
  		cur, _ := body.Seek(0, 1)
  		end, _ := body.Seek(0, 2)
  		body.Seek(cur, 0) // make sure to seek back to original location
  		length = end - cur
  	default:
  		panic("Cannot get length of body, must provide `ContentLength`")
  	}
  
  	r.HTTPRequest.ContentLength = length
  	r.HTTPRequest.Header.Set("Content-Length", fmt.Sprintf("%d", length))
  }
  
  func UserAgentHandler(r *Request) {
  	r.HTTPRequest.Header.Set("User-Agent", SDKName+"/"+SDKVersion)
  }
  
  func SendHandler(r *Request) {
  	r.HTTPResponse, r.Error = r.Service.Config.HTTPClient.Do(r.HTTPRequest)
  }
  
  func ValidateResponseHandler(r *Request) {
  	if r.HTTPResponse.StatusCode == 0 || r.HTTPResponse.StatusCode >= 400 {
  		err := APIError{
  			StatusCode: r.HTTPResponse.StatusCode,
  			RetryCount: r.RetryCount,
  		}
  		r.Error = err
  		err.Retryable = r.Service.ShouldRetry(r)
  		err.RetryDelay = r.Service.RetryRules(r)
  		r.Error = err
  	}
  }
  
  func AfterRetryHandler(r *Request) {
  	delay := 0 * time.Second
  	willRetry := false
  
  	if err := Error(r.Error); err != nil {
  		delay = err.RetryDelay
  		if err.Retryable && r.RetryCount < r.Service.MaxRetries() {
  			r.RetryCount++
  			willRetry = true
  		}
  	}
  
  	if willRetry {
  		r.Error = nil
  		sleepDelay(delay)
  	}
  }
  