code: func parseResponse(message string) *response {
  	r := &response{Headers: url.Values{}, StatusCode: -1}
  
  	parts := strings.SplitN(message, "\n\n", 2)
  
  	for _, line := range strings.Split(parts[0], "\n") {
  		if strings.TrimSpace(line) == "" {
  			continue
  		}
  
  		kv := strings.SplitN(line, ":", 2)
  
  		val := ""
  		if len(kv) == 2 {
  			val = strings.TrimSpace(kv[1])
  		}
  
  		r.Headers.Add(kv[0], val)
  
  		switch kv[0] {
  		case "Status-Code":
  			i, err := strconv.Atoi(val)
  			if err == nil {
  				r.StatusCode = i
  			}
  		case "Status-Text":
  			r.StatusText = val
  		case "Auth-Sid":
  			r.AuthSid = val
  		}
  	}
  
  	if len(parts) > 1 {
  		r.Body = parts[1]
  	}
  
  	return r
  }
docs: // parseResponse parses HTTP response body