35 lines
		
	
	
		
			942 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			942 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env bash
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Script to send a status on GNUSocial instance using HTTPie
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Requirements: httpie package
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SERVER='https://herds.eu'
							 | 
						||
| 
								 | 
							
								API="${SERVER}/api"
							 | 
						||
| 
								 | 
							
								URL="${API}/statuses/update.xml"
							 | 
						||
| 
								 | 
							
								GS_USER='bl4n'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								command -v http >/dev/null 2>&1 || { echo >&2 "httpie is missing!"; exit 1;}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								message="$*"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if http --check-status --timeout=5 -a $GS_USER -f POST $URL source='HTTPie' status="$message" &> /dev/null; then
							 | 
						||
| 
								 | 
							
								  echo 'OK!'
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								  case $? in
							 | 
						||
| 
								 | 
							
								    2) echo 'Request timed out!' && exit 1;;
							 | 
						||
| 
								 | 
							
								    3) echo 'Unexpected HTTP 3xx Redirection!' && exit 1 ;;
							 | 
						||
| 
								 | 
							
								    4) echo 'HTTP 4xx Client Error!' && exit 1;;
							 | 
						||
| 
								 | 
							
								    5) echo 'HTTP 5xx Server Error!' && exit 1;;
							 | 
						||
| 
								 | 
							
								    6) echo 'Exceeded --max-redirects=<n> redirects!' && exit 1 ;;
							 | 
						||
| 
								 | 
							
								    *) echo 'Other Error!' && exit 1;;
							 | 
						||
| 
								 | 
							
								  esac
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exit 0
							 | 
						||
| 
								 | 
							
								# Some information about method
							 | 
						||
| 
								 | 
							
								# EITHER HTTPIE
							 | 
						||
| 
								 | 
							
								#http -f POST $URL -a $GS_USER source='HTTPie' status="$message"
							 | 
						||
| 
								 | 
							
								# OR CURL
							 | 
						||
| 
								 | 
							
								#curl -u $GS_USER $URL -d status='curlTest'
							 |