summaryrefslogtreecommitdiffstats
path: root/src/main/bash/cambriaPost.sh
blob: 7bd2911c61a157a555b678365fc1d7e0cfa6369e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/bash
#*******************************************************************************
#  ============LICENSE_START=======================================================
#  org.onap.dmaap
#  ================================================================================
#  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
#  ================================================================================
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#        http://www.apache.org/licenses/LICENSE-2.0
#  
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#  ============LICENSE_END=========================================================
#
#  ECOMP is a trademark and service mark of AT&T Intellectual Property.
#  
#*******************************************************************************

# format:
#	cambriaPut.sh <apiPath> [<file>]

if [ $# -gt 2 ]; then
	echo "usage: cambriaPost.sh <apiPath> [<file>]"
	exit
fi
if [ $# -lt 1 ]; then
	echo "usage: cambriaPost.sh <apiPath> [<file>]"
	exit
fi

API=$1
FILE=
if [ $# -gt 1 ]; then
	FILE="-d @$2"
fi

# the date needs to be in one of the formats cambria accepts
case "$(uname -s)" in

	Darwin)
		# "EEE MMM dd HH:mm:ss z yyyy"
		DATE=`date`
		;;

	 Linux)
		# "EEE MMM dd HH:mm:ss z yyyy"
		DATE=`date`
	 	;;

	 CYGWIN*|MINGW32*|MSYS*)
		DATE=`date --rfc-2822`
		;;

	*)
		DATE=`date`
		;;
esac


URI="http://$CAMBRIA_SERVER/$API"

if [ -z "$CAMBRIA_APIKEY" ]; then
	echo "no auth"
	curl -i -X POST $FILE -H "Content-Type: application/json" $AUTHPART $URI
else
	echo "auth in use"
	SIGNATURE=`echo -n "$DATE" | openssl sha1 -hmac $CAMBRIA_APISECRET -binary | openssl base64`
	curl -i -X POST $FILE -H "Content-Type: application/json" -H "X-CambriaAuth: $CAMBRIA_APIKEY:$SIGNATURE" -H "X-CambriaDate: $DATE" $URI
fi