diff options
| author | Maximilian Hils <git@maximilianhils.com> | 2016-04-03 08:17:30 -0700 | 
|---|---|---|
| committer | Maximilian Hils <git@maximilianhils.com> | 2016-04-03 08:17:30 -0700 | 
| commit | 0259f479974f4f61e28bf1dac0d0f5229e468c36 (patch) | |
| tree | 7bf64d328bf6dcbe12d4e8f4b6cba20125b3bf34 /netlib/http/message.py | |
| parent | 84f650aabf739f40b3ff414c646257141babd6e1 (diff) | |
| parent | 806aa0f41c7816b2859a6961939ed19499b73fe7 (diff) | |
| download | mitmproxy-0259f479974f4f61e28bf1dac0d0f5229e468c36.tar.gz mitmproxy-0259f479974f4f61e28bf1dac0d0f5229e468c36.tar.bz2 mitmproxy-0259f479974f4f61e28bf1dac0d0f5229e468c36.zip | |
Merge branch 'better-replace'
Diffstat (limited to 'netlib/http/message.py')
| -rw-r--r-- | netlib/http/message.py | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/netlib/http/message.py b/netlib/http/message.py index b265ac4f..da9681a0 100644 --- a/netlib/http/message.py +++ b/netlib/http/message.py @@ -175,6 +175,25 @@ class Message(utils.Serializable):          self.headers["content-encoding"] = e          return True +    def replace(self, pattern, repl, flags=0): +        """ +        Replaces a regular expression pattern with repl in both the headers +        and the body of the message. Encoded body will be decoded +        before replacement, and re-encoded afterwards. + +        Returns: +            The number of replacements made. +        """ +        # TODO: Proper distinction between text and bytes. +        replacements = 0 +        if self.content: +            with decoded(self): +                self.content, replacements = utils.safe_subn( +                    pattern, repl, self.content, flags=flags +                ) +        replacements += self.headers.replace(pattern, repl, flags) +        return replacements +      # Legacy      @property | 
