'Plugin entry point. Analyze if the HTTP response codes are strange.
:param request: The HTTP request object.
:param response: The HTTP response object
:return: None, all results are saved in the kb.'

def grep(self, request, response):

    if (response.get_code() in self.COMMON_HTTP_CODES):
        return
    desc = 'The    remote    Web    server    sent    a    strange    HTTP    response    code:    "%s"    with    the    message:    "%s",    manual    inspection    is    recommended.'
    desc %= (response.get_code(), response.get_msg())
    i = Info('Strange    HTTP    response    code', desc, response.id, self.get_name())
    i.add_to_highlight(str(response.get_code()), response.get_msg())
    i.set_url(response.get_url())
    i[StrangeCodesInfoSet.ITAG] = response.get_code()
    i['message'] = response.get_msg()
    self.kb_append_uniq_group(self, 'strange_http_codes', i, group_klass=StrangeCodesInfoSet)
