def take_body(headers, script_list):

    body = []
    print(">>>"),
    while True:
        uentered = raw_input("")

        if not uentered:
            print "Thank you !"
            parsed_tuple = parse_raw_request("".join(headers))
            parsed_tuple[1]['data'] = "".join(body)
            pluginManager(script_list, parsed_tuple)
            take_headers(script_list)

        if uentered == "q!":
            print "Thanks for using the interactive mode!"
            sys.exit(0)

        body.append(uentered + "\n")

    return body
def take_body(headers, script_list):

	body = []
	print(">>>"),
	while True:
		uentered = raw_input("")

		if not uentered:
			print "Thank you !"
			parsed_tuple = parse_raw_request("".join(headers))
			parsed_tuple[1]['data'] = "".join(body)
			pluginManager(script_list, parsed_tuple)
			take_headers(script_list)

		if uentered == "q!": 
			print "Thanks for using the interactive mode!"
			sys.exit(0)

		body.append(uentered+ "\n")

	return body
def process_arguments(args):

    argdict = vars(args)

    try:
        script_list = argdict['output'][0].split(',')

    except TypeError:
        #If --output option is not used
        script_list = []

    if args.interactive:
        take_headers(script_list)

    else:
        if not args.Request:
            print "Input a raw HTTP Request and try again\
			" + "\n" + "Else try using the interactive option"
            sys.exit(0)

        parsed_tuple = parse_raw_request(args.Request)

        if args.data:
            parsed_tuple[1]['data'] = args.data

        else:
            parsed_tuple[1]['data'] = None

        if args.proxy:
            parsed_tuple[1]['proxy'] = args.proxy

        if not parsed_tuple[1]['data'] and parsed_tuple[1]['method'].strip(
        ).upper() == "POST":
            print "Hi there. Send some data to POST, use --data for sending data."
            sys.exit(0)

        if args.stringSearch:
            pluginManager(script_list, parsed_tuple, args.stringSearch)

        elif args.regexSearch:
            pluginManager(script_list, parsed_tuple, args.regexSearch)

        else:
            pluginManager(script_list, parsed_tuple)

    return argdict
def process_arguments(args):

	argdict = vars(args)

	try :
		script_list = argdict['output'][0].split(',')

	except TypeError:
		#If --output option is not used
		script_list = []

	if args.interactive :
		take_headers(script_list)

	else:
		if not args.Request:
			print "Input a raw HTTP Request and try again\
			" +"\n"+"Else try using the interactive option"
			sys.exit(0)

		parsed_tuple = parse_raw_request(args.Request)

		if args.data :
			parsed_tuple[1]['data'] = args.data

		else :
			parsed_tuple[1]['data'] = None

		if args.proxy :
			parsed_tuple[1]['proxy'] = args.proxy

		if not parsed_tuple[1]['data'] and parsed_tuple[1]['method'].strip().upper() == "POST":
			print "Hi there. Send some data to POST, use --data for sending data."
			sys.exit(0)

		if args.stringSearch :
			pluginManager(script_list, parsed_tuple, args.stringSearch)

		elif args.regexSearch :
			pluginManager(script_list, parsed_tuple, args.regexSearch)

		else:
			pluginManager(script_list, parsed_tuple)

	return argdict