@@ -67,14 +67,11 @@ def _request(self, method, payload, json_data, files):
6767
6868 raise APIError (error )
6969 try :
70-
7170 data = response .json ()
71+ return data
7272
7373 except :
74- print (response .content )
75- raise APIError ("Unable to parse JSON" )
76-
77- return data
74+ return response
7875
7976 def _prepare_request (self , uri , ** kwargs ):
8077 params = {"apikey" : self .api_key }
@@ -430,11 +427,13 @@ def bulk_summary_ip(self, path):
430427 if os .path .isfile (path ):
431428
432429 file_iocs = open (path , "rb" )
433- return self ._prepare_request (
430+ for line in self ._prepare_request (
434431 "/" .join ([self .version , "bulk/summary/ip" ]),
435432 method = "post" ,
436433 files = file_iocs ,
437- )
434+ ).iter_lines ():
435+ yield json .loads (line .decode ("utf-8" ))
436+
438437 else :
439438 raise ParamError ("%s is no a file" % path )
440439
@@ -448,11 +447,13 @@ def bulk_summary_domain(self, path):
448447 if os .path .isfile (path ):
449448
450449 file_iocs = open (path , "rb" )
451- return self ._prepare_request (
450+ for line in self ._prepare_request (
452451 "/" .join ([self .version , "bulk/summary/domain" ]),
453452 method = "post" ,
454453 files = file_iocs ,
455- )
454+ ).iter_lines ():
455+ yield json .loads (line .decode ("utf-8" ))
456+
456457 else :
457458 raise ParamError ("%s is no a file" % path )
458459
@@ -466,11 +467,13 @@ def bulk_summary_hostname(self, path):
466467 if os .path .isfile (path ):
467468
468469 file_iocs = open (path , "rb" )
469- return self ._prepare_request (
470+ for line in self ._prepare_request (
470471 "/" .join ([self .version , "bulk/summary/hostname" ]),
471472 method = "post" ,
472473 files = file_iocs ,
473- )
474+ ).iter_lines ():
475+ yield json .loads (line .decode ("utf-8" ))
476+
474477 else :
475478 raise ParamError ("%s is no a file" % path )
476479
@@ -484,11 +487,13 @@ def bulk_simple_ctl_ip(self, path):
484487 if os .path .isfile (path ):
485488
486489 file_iocs = open (path , "rb" )
487- return self ._prepare_request (
488- "/" .join ([self .version , "bulk/simple/ctl /ip" ]),
490+ for line in self ._prepare_request (
491+ "/" .join ([self .version , "bulk/simple/clt /ip" ]),
489492 method = "post" ,
490493 files = file_iocs ,
491- )
494+ ).iter_lines ():
495+ yield json .loads (line .decode ("utf-8" ))
496+
492497 else :
493498 raise ParamError ("%s is no a file" % path )
494499
@@ -502,11 +507,13 @@ def bulk_simple_datascan_ip(self, path):
502507 if os .path .isfile (path ):
503508
504509 file_iocs = open (path , "rb" )
505- return self ._prepare_request (
510+ for line in self ._prepare_request (
506511 "/" .join ([self .version , "bulk/simple/datascan/ip" ]),
507512 method = "post" ,
508513 files = file_iocs ,
509- )
514+ ).iter_lines ():
515+ yield json .loads (line .decode ("utf-8" ))
516+
510517 else :
511518 raise ParamError ("%s is no a file" % path )
512519
@@ -520,11 +527,13 @@ def bulk_simple_datashot_ip(self, path):
520527 if os .path .isfile (path ):
521528
522529 file_iocs = open (path , "rb" )
523- return self ._prepare_request (
530+ for line in self ._prepare_request (
524531 "/" .join ([self .version , "bulk/simple/datashot/ip" ]),
525532 method = "post" ,
526533 files = file_iocs ,
527- )
534+ ).iter_lines ():
535+ yield json .loads (line .decode ("utf-8" ))
536+
528537 else :
529538 raise ParamError ("%s is no a file" % path )
530539
@@ -538,11 +547,13 @@ def bulk_simple_geoloc_ip(self, path):
538547 if os .path .isfile (path ):
539548
540549 file_iocs = open (path , "rb" )
541- return self ._prepare_request (
550+ for line in self ._prepare_request (
542551 "/" .join ([self .version , "bulk/simple/geoloc/ip" ]),
543552 method = "post" ,
544553 files = file_iocs ,
545- )
554+ ).iter_lines ():
555+ yield json .loads (line .decode ("utf-8" ))
556+
546557 else :
547558 raise ParamError ("%s is no a file" % path )
548559
@@ -556,11 +567,13 @@ def bulk_simple_inetnum_ip(self, path):
556567 if os .path .isfile (path ):
557568
558569 file_iocs = open (path , "rb" )
559- return self ._prepare_request (
560- "/" .join ([self .version , "bulk/simple/inetnum /ip" ]),
570+ for line in self ._prepare_request (
571+ "/" .join ([self .version , "bulk/simple/inetenum /ip" ]),
561572 method = "post" ,
562573 files = file_iocs ,
563- )
574+ ).iter_lines ():
575+ yield json .loads (line .decode ("utf-8" ))
576+
564577 else :
565578 raise ParamError ("%s is no a file" % path )
566579
@@ -574,11 +587,13 @@ def bulk_simple_pastries_ip(self, path):
574587 if os .path .isfile (path ):
575588
576589 file_iocs = open (path , "rb" )
577- return self ._prepare_request (
590+ for line in self ._prepare_request (
578591 "/" .join ([self .version , "bulk/simple/pastries/ip" ]),
579592 method = "post" ,
580593 files = file_iocs ,
581- )
594+ ).iter_lines ():
595+ yield json .loads (line .decode ("utf-8" ))
596+
582597 else :
583598 raise ParamError ("%s is no a file" % path )
584599
@@ -592,11 +607,13 @@ def bulk_simple_resolver_ip(self, path):
592607 if os .path .isfile (path ):
593608
594609 file_iocs = open (path , "rb" )
595- return self ._prepare_request (
610+ for line in self ._prepare_request (
596611 "/" .join ([self .version , "bulk/simple/resolver/ip" ]),
597612 method = "post" ,
598613 files = file_iocs ,
599- )
614+ ).iter_lines ():
615+ yield json .loads (line .decode ("utf-8" ))
616+
600617 else :
601618 raise ParamError ("%s is no a file" % path )
602619
@@ -610,11 +627,13 @@ def bulk_simple_sniffer_ip(self, path):
610627 if os .path .isfile (path ):
611628
612629 file_iocs = open (path , "rb" )
613- return self ._prepare_request (
630+ for line in self ._prepare_request (
614631 "/" .join ([self .version , "bulk/simple/sniffer/ip" ]),
615632 method = "post" ,
616633 files = file_iocs ,
617- )
634+ ).iter_lines ():
635+ yield json .loads (line .decode ("utf-8" ))
636+
618637 else :
619638 raise ParamError ("%s is no a file" % path )
620639
@@ -628,11 +647,13 @@ def bulk_simple_synscan_ip(self, path):
628647 if os .path .isfile (path ):
629648
630649 file_iocs = open (path , "rb" )
631- return self ._prepare_request (
650+ for line in self ._prepare_request (
632651 "/" .join ([self .version , "bulk/simple/synscan/ip" ]),
633652 method = "post" ,
634653 files = file_iocs ,
635- )
654+ ).iter_lines ():
655+ yield json .loads (line .decode ("utf-8" ))
656+
636657 else :
637658 raise ParamError ("%s is no a file" % path )
638659
@@ -646,11 +667,13 @@ def bulk_simple_threatlist_ip(self, path):
646667 if os .path .isfile (path ):
647668
648669 file_iocs = open (path , "rb" )
649- return self ._prepare_request (
670+ for line in self ._prepare_request (
650671 "/" .join ([self .version , "bulk/simple/threatlist/ip" ]),
651672 method = "post" ,
652673 files = file_iocs ,
653- )
674+ ).iter_lines ():
675+ yield json .loads (line .decode ("utf-8" ))
676+
654677 else :
655678 raise ParamError ("%s is no a file" % path )
656679
@@ -664,11 +687,13 @@ def bulk_simple_topsite_ip(self, path):
664687 if os .path .isfile (path ):
665688
666689 file_iocs = open (path , "rb" )
667- return self ._prepare_request (
690+ for line in self ._prepare_request (
668691 "/" .join ([self .version , "bulk/simple/topsite/ip" ]),
669692 method = "post" ,
670693 files = file_iocs ,
671- )
694+ ).iter_lines ():
695+ yield json .loads (line .decode ("utf-8" ))
696+
672697 else :
673698 raise ParamError ("%s is no a file" % path )
674699
@@ -682,11 +707,13 @@ def bulk_simple_vulnscan_ip(self, path):
682707 if os .path .isfile (path ):
683708
684709 file_iocs = open (path , "rb" )
685- return self ._prepare_request (
710+ for line in self ._prepare_request (
686711 "/" .join ([self .version , "bulk/simple/vulnscan/ip" ]),
687712 method = "post" ,
688713 files = file_iocs ,
689- )
714+ ).iter_lines ():
715+ yield json .loads (line .decode ("utf-8" ))
716+
690717 else :
691718 raise ParamError ("%s is no a file" % path )
692719
@@ -700,11 +727,13 @@ def bulk_simple_whois_ip(self, path):
700727 if os .path .isfile (path ):
701728
702729 file_iocs = open (path , "rb" )
703- return self ._prepare_request (
730+ for line in self ._prepare_request (
704731 "/" .join ([self .version , "bulk/simple/whois/ip" ]),
705732 method = "post" ,
706733 files = file_iocs ,
707- )
734+ ).iter_lines ():
735+ yield json .loads (line .decode ("utf-8" ))
736+
708737 else :
709738 raise ParamError ("%s is no a file" % path )
710739
0 commit comments