Merge branch 'review/coding_standards'
This commit is contained in:
commit
57e3322ea8
@ -18,7 +18,8 @@
|
|||||||
## Configuration système
|
## Configuration système
|
||||||
##
|
##
|
||||||
|
|
||||||
# Caractère de fin de ligne (http://en.wikipedia.org/wiki/Percent-encoding#Character_data)
|
# Caractère de fin de ligne
|
||||||
|
# (http://en.wikipedia.org/wiki/Percent-encoding#Character_data)
|
||||||
NEWLINE_CHAR="%0D" # Valeurs possibles : %0A, %0D et %0D%0A
|
NEWLINE_CHAR="%0D" # Valeurs possibles : %0A, %0D et %0D%0A
|
||||||
|
|
||||||
# URL d'accès à l'API
|
# URL d'accès à l'API
|
||||||
@ -32,10 +33,12 @@ SMSAPI_SEND_ACTION="sendmsg"
|
|||||||
## Configuration utilisateur
|
## Configuration utilisateur
|
||||||
##
|
##
|
||||||
|
|
||||||
# Login utilisateur / identifiant Free Mobile (celui utilisé pour accéder à l'Espace Abonné)
|
# Login utilisateur / identifiant Free Mobile (celui utilisé pour accéder à
|
||||||
|
# l'Espace Abonné)
|
||||||
USER_LOGIN="1234567890"
|
USER_LOGIN="1234567890"
|
||||||
|
|
||||||
# Clé d'identification (générée et fournie par Free Mobile via l'Espace Abonné, "Mes Options" : https://mobile.free.fr/moncompte/index.php?page=options)
|
# Clé d'identification (générée et fournie par Free Mobile via l'Espace Abonné,
|
||||||
|
# "Mes Options" : https://mobile.free.fr/moncompte/index.php?page=options)
|
||||||
API_KEY="s0me5eCre74p1K3y"
|
API_KEY="s0me5eCre74p1K3y"
|
||||||
|
|
||||||
# Texte qui sera ajouté AVANT chaque message envoyé
|
# Texte qui sera ajouté AVANT chaque message envoyé
|
||||||
@ -53,45 +56,65 @@ Le serveur de la maison"
|
|||||||
##
|
##
|
||||||
|
|
||||||
MESSAGE_TO_SEND=""
|
MESSAGE_TO_SEND=""
|
||||||
if [ "$1" ]; then # Message en tant qu'argument de la ligne de commande
|
if [ "${1}" ]; then # Message en tant qu'argument de la ligne de commande
|
||||||
MESSAGE_TO_SEND="$1"
|
MESSAGE_TO_SEND="${1}"
|
||||||
else # Message lu de STDIN
|
else # Message lu de STDIN
|
||||||
while read line
|
while read line
|
||||||
do
|
do
|
||||||
MESSAGE_TO_SEND="$MESSAGE_TO_SEND$line\n"
|
MESSAGE_TO_SEND="${MESSAGE_TO_SEND}${line}\n"
|
||||||
done
|
done
|
||||||
MESSAGE_TO_SEND=${MESSAGE_TO_SEND%"\n"} # Retire le dernier saut de ligne
|
MESSAGE_TO_SEND=${MESSAGE_TO_SEND%"\n"} # Retire le dernier saut de ligne
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FINAL_MESSAGE_TO_SEND="$MESSAGE_HEADER$MESSAGE_TO_SEND$MESSAGE_FOOTER" # Assemble header, message et footer
|
# Assemble header, message et footer
|
||||||
|
FINAL_MESSAGE_TO_SEND="${MESSAGE_HEADER}${MESSAGE_TO_SEND}${MESSAGE_FOOTER}"
|
||||||
|
|
||||||
##
|
##
|
||||||
## Appel à l'API (envoi)
|
## Appel à l'API (envoi)
|
||||||
##
|
##
|
||||||
|
|
||||||
# echo "Will send the following to $USER_LOGIN:" #DEBUG
|
# echo "Will send the following to ${USER_LOGIN}:" #DEBUG
|
||||||
# echo "$FINAL_MESSAGE_TO_SEND" #DEBUG
|
# echo "${FINAL_MESSAGE_TO_SEND}" #DEBUG
|
||||||
|
|
||||||
# Converts newlines to $NEWLINE_CHAR
|
# Converts newlines to $NEWLINE_CHAR
|
||||||
FINAL_MESSAGE_TO_SEND=$(echo -n "$FINAL_MESSAGE_TO_SEND" | sed '{:q;N;s/\n/'$NEWLINE_CHAR'/g;t q}')
|
FINAL_MESSAGE_TO_SEND=$(\
|
||||||
|
echo -n "${FINAL_MESSAGE_TO_SEND}" | \
|
||||||
|
sed '{:q;N;s/\n/'${NEWLINE_CHAR}'/g;t q}'\
|
||||||
|
)
|
||||||
# echo "Newline encoded message:" #DEBUG
|
# echo "Newline encoded message:" #DEBUG
|
||||||
# echo "$FINAL_MESSAGE_TO_SEND" #DEBUG
|
# echo "${FINAL_MESSAGE_TO_SEND}" #DEBUG
|
||||||
|
|
||||||
# --insecure : Certificat de $SMSAPI_BASEURL ne fourni pas d'informations sur son propriétaire
|
# Particularités de l'appel de curl et la/les options associées :
|
||||||
# --write-out "%{http_code}" --silent --output /dev/null : Renvoi le code réponse HTTP uniquement
|
# * Le certificat de $SMSAPI_BASEURL ne fourni pas d'informations sur son
|
||||||
HTTP_STATUS_CODE=$(curl --insecure --get "$SMSAPI_BASEURL/$SMSAPI_SEND_ACTION" --data "user=$USER_LOGIN" --data "pass=$API_KEY" --data "msg=$FINAL_MESSAGE_TO_SEND" --write-out "%{http_code}" --silent --output /dev/null)
|
# propriétaire :
|
||||||
|
# --insecure
|
||||||
|
# * Renvoi le code réponse HTTP uniquement :
|
||||||
|
# --write-out "%{http_code}" --silent --output /dev/null
|
||||||
|
#
|
||||||
|
HTTP_STATUS_CODE=$(\
|
||||||
|
curl \
|
||||||
|
--insecure \
|
||||||
|
--write-out "%{http_code}" \
|
||||||
|
--silent \
|
||||||
|
--output /dev/null \
|
||||||
|
--get "${SMSAPI_BASEURL}/${SMSAPI_SEND_ACTION}" \
|
||||||
|
--data "user=${USER_LOGIN}" \
|
||||||
|
--data "pass=${API_KEY}" \
|
||||||
|
--data "msg=${FINAL_MESSAGE_TO_SEND}" \
|
||||||
|
)
|
||||||
|
|
||||||
# Codes réponse HTTP possibles
|
# Codes réponse HTTP possibles
|
||||||
# 200 : Le SMS a été envoyé sur votre mobile.
|
# 200 : Le SMS a été envoyé sur votre mobile.
|
||||||
# 400 : Un des paramètres obligatoires est manquant.
|
# 400 : Un des paramètres obligatoires est manquant.
|
||||||
# 402 : Trop de SMS ont été envoyés en trop peu de temps.
|
# 402 : Trop de SMS ont été envoyés en trop peu de temps.
|
||||||
# 403 : Le service n'est pas activé sur l'espace abonné, ou login / clé incorrect.
|
# 403 : Le service n'est pas activé sur l'espace abonné, ou login / clé
|
||||||
|
# incorrect.
|
||||||
# 500 : Erreur côté serveur. Veuillez réessayez ultérieurement.
|
# 500 : Erreur côté serveur. Veuillez réessayez ultérieurement.
|
||||||
|
|
||||||
if [ "$HTTP_STATUS_CODE" -eq 200 ]; then
|
if [ "${HTTP_STATUS_CODE}" -eq 200 ]; then
|
||||||
# echo "API responded with 200: exiting with 0" #DEBUG
|
# echo "API responded with 200: exiting with 0" #DEBUG
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "Error: API responded with $HTTP_STATUS_CODE"
|
echo "Error: API responded with ${HTTP_STATUS_CODE}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user