netcdf-c/libdap2/constraints.h
dmh f423f27693 Sync with oc project.
This supports better authorization
handling for DAP requests, especially redirection
based authorization. I also added a new test case
ncdap_tests/testauth.sh.

Specifically, suppose I have a netrc file /tmp/netrc
containing this.
    machine uat.urs.earthdata.nasa.gov login xxxxxx password yyyyyy
Also suppose I have a .ocrc file containing these lines
    HTTP.COOKIEJAR=/tmp/cookies
    HTTP.NETRC=/tmp/netrc
Assume that .ocrc is in the local directory or HOME.

Then this command should work (assuming a valid login and password).
    ncdump -h "https://54.86.135.31/opendap/data/nc/fnoc1.nc"
2014-12-24 10:22:47 -07:00

31 lines
1.3 KiB
C

/*********************************************************************
* Copyright 1993, UCAR/Unidata
* See netcdf/COPYRIGHT file for copying and redistribution conditions.
*********************************************************************/
#ifndef CONSTRAINTS_H
#define CONSTRAINTS_H 1
extern NCerror dapparsedapconstraints(NCDAPCOMMON*, char*, DCEconstraint*);
extern NCerror dapmapconstraints(DCEconstraint*,CDFnode*);
extern NCerror dapqualifyconstraints(DCEconstraint* constraint);
extern NCerror dapcomputeprojectedvars(NCDAPCOMMON*,DCEconstraint*);
extern char* dapsimplepathstring(NClist* segments, char* separator);
extern void dapmakesegmentstring(NClist* segments, NCbytes* buf, char* separator);
extern int dapiswholeslice(DCEslice*, struct CDFnode* dim);
extern int dapiswholesegment(DCEsegment*);
extern int dapiswholeconstraint(DCEconstraint* con);
extern void dapmakewholesegment(DCEsegment*,struct CDFnode*);
extern void dapmakewholeslice(DCEslice* slice, struct CDFnode* dim);
extern NCerror dapfixprojections(NClist* list);
extern int dapvar2projection(CDFnode* var, DCEprojection** projectionp);
extern int daprestrictprojection(NClist* projections, DCEprojection* var, DCEprojection** resultp);
extern int dapshiftprojection(DCEprojection*);
#endif /*CONSTRAINTS_H*/