I have two small minpins, and as I was giving them their evening walk, a cat darted out of the bushes and tried to attack them. My first reaction was to sling my dogs behind me, which forced the cat to overshoot and zip past us. As soon as it did, it stopped and came right back at us, so again I slung my (now yapping) dogs behind me, and it overshot. Again, it turned around and came back at us.
I was getting tired of playing matador and I didn't want to hurt my dogs by throwing them about by the neck, so on the cat's next pass I managed to hook my foot under it and toss it away - not a kick, but as gentle a punt as I could manage to tell it to get lost. Again, as soon as it landed, it came back, and as I was out of options I kicked it straight in the face, launching it right back into the bushes. I heard it scurry away and it never came back.
After we got home I checked my dogs to see if they'd been hurt, and thankfully there wasn't a scratch on them.
What should I have done in this situation? I feel bad for hurting an animal (especially since I don't know if it was feral or not - I was too busy protecting my dogs to notice a collar) but I couldn't think of any other way to keep it away.
If it was somebody's pet, could they take legal action against me? Or is it the owner's responsibility since their pet was attacking mine?