Mercurial > hg
comparison mcabber/src/jabglue.c @ 407:79af85f08c28
Display server error messages to the user
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 27 Aug 2005 18:00:38 +0200 |
parents | a9dd91e08eb3 |
children | 73433860665c |
comparison
equal
deleted
inserted
replaced
406:a9dd91e08eb3 | 407:79af85f08c28 |
---|---|
790 | 790 |
791 } | 791 } |
792 } | 792 } |
793 } else if (!strcmp(type, "set")) { | 793 } else if (!strcmp(type, "set")) { |
794 } else if (!strcmp(type, "error")) { | 794 } else if (!strcmp(type, "error")) { |
795 char *name=NULL, *desc=NULL; | 795 char *name=NULL, *desc; |
796 char *text=NULL; | |
796 int code = 0; | 797 int code = 0; |
797 | 798 |
798 x = xmlnode_get_tag(packet->x, "error"); | 799 x = xmlnode_get_tag(packet->x, "error"); |
799 p = xmlnode_get_attrib(x, "code"); if (p) code = atoi(p); | 800 p = xmlnode_get_attrib(x, "code"); if (p) code = atoi(p); |
800 p = xmlnode_get_attrib(x, "id"); if (p) name = p; | 801 p = xmlnode_get_attrib(x, "id"); if (p) name = p; |
801 p = xmlnode_get_tag_data(packet->x, "error"); if (p) desc = p; | 802 p = xmlnode_get_tag_data(packet->x, "error"); if (p) desc = p; |
802 | 803 |
803 #if 0 | 804 // Sometimes there is a text message |
805 x = xmlnode_get_tag(x, "text"); | |
806 p = xmlnode_get_data(x); if (p) text = p; | |
807 | |
804 switch(code) { | 808 switch(code) { |
805 case 401: /* Unauthorized */ | 809 case 401: desc = "Unauthorized"; |
806 case 302: /* Redirect */ | 810 break; |
807 case 400: /* Bad request */ | 811 case 302: desc = "Redirect"; |
808 case 402: /* Payment Required */ | 812 break; |
809 case 403: /* Forbidden */ | 813 case 400: desc = "Bad request"; |
810 case 404: /* Not Found */ | 814 break; |
811 case 405: /* Not Allowed */ | 815 case 402: desc = "Payment Required"; |
812 case 406: /* Not Acceptable */ | 816 break; |
813 case 407: /* Registration Required */ | 817 case 403: desc = "Forbidden"; |
814 case 408: /* Request Timeout */ | 818 break; |
815 case 409: /* Conflict */ | 819 case 404: desc = "Not Found"; |
816 case 500: /* Internal Server Error */ | 820 break; |
817 case 501: /* Not Implemented */ | 821 case 405: desc = "Not Allowed"; |
818 case 502: /* Remote Server Error */ | 822 break; |
819 case 503: /* Service Unavailable */ | 823 case 406: desc = "Not Acceptable"; |
820 case 504: /* Remote Server Timeout */ | 824 break; |
825 case 407: desc = "Registration Required"; | |
826 break; | |
827 case 408: desc = "Request Timeout"; | |
828 break; | |
829 case 409: desc = "Conflict"; | |
830 break; | |
831 case 500: desc = "Internal Server Error"; | |
832 break; | |
833 case 501: desc = "Not Implemented"; | |
834 break; | |
835 case 502: desc = "Remote Server Error"; | |
836 break; | |
837 case 503: desc = "Service Unavailable"; | |
838 break; | |
839 case 504: desc = "Remote Server Timeout"; | |
840 break; | |
821 default: | 841 default: |
822 /* | 842 desc = NULL; |
823 if (!regmode) { | |
824 face.log(desc.empty() ? | |
825 _("+ [jab] error %d") : | |
826 _("+ [jab] error %d: %s"), | |
827 code, desc.c_str()); | |
828 | |
829 if (!jhook.flogged && code != 501) { | |
830 close(jc->fd); | |
831 jc->fd = -1; | |
832 } | |
833 | |
834 } else { | |
835 jhook.regerr = desc; | |
836 | |
837 } | |
838 */ | |
839 } | 843 } |
840 #endif | 844 |
841 scr_LogPrint(LPRINT_LOGNORM, "Error code from server (%d)", code); | 845 scr_LogPrint(LPRINT_LOGNORM, "Error code from server: %d %s", |
842 | 846 code, (desc ? desc : "")); |
847 if (text) | |
848 scr_LogPrint(LPRINT_LOGNORM, "Server message: %s", text); | |
849 | |
850 if (name) | |
851 scr_LogPrint(LPRINT_DEBUG, "Error id: %s", name); | |
843 } | 852 } |
844 break; | 853 break; |
845 | 854 |
846 case JPACKET_PRESENCE: | 855 case JPACKET_PRESENCE: |
847 x = xmlnode_get_tag(packet->x, "show"); | 856 x = xmlnode_get_tag(packet->x, "show"); |