text: 'use strict'
  
  module.exports.parseSetCookie = parseSetCookie
  module.exports.writePatch = writePatch
  
  function parseSetCookie (header) {
    var match
    var pairs = []
    var pattern = /\s*([^=;]+)(?:=([^;]*);?|;|$)/g
  
    while ((match = pattern.exec(header))) {
      pairs.push({ name: match[1], value: match[2] })
    }
  
    var cookie = pairs.shift()
  
    for (var i = 0; i < pairs.length; i++) {
      match = pairs[i]
      cookie[match.name.toLowerCase()] = (match.value || true)
    }
  
    return cookie
  }
  
  function writePatch (res) {
    var _end = res.end
    var _write = res.write
    var ended = false
  
    res.end = function end () {
      ended = true
      return _end.apply(this, arguments)
    }
  
    res.write = function write () {
      if (ended) {
        throw new Error('write after end')
      }
  
      return _write.apply(this, arguments)
    }
  }
  