[613] | 1 | ONCXDEM ;HCIOFO/SG - HTTP AND WEB SERVICES (DEMO) ; 5/14/04 10:59am
|
---|
| 2 | ;;2.11;ONCOLOGY;**40**;Mar 07, 1995
|
---|
| 3 | ;
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;***** DEMO ENTRY POINT
|
---|
| 7 | ;
|
---|
| 8 | ; The ^TMP($J,"ONCX") global node is used by the entry point.
|
---|
| 9 | ;
|
---|
| 10 | DEMO ;
|
---|
| 11 | N BODY,DIR,DIRUT,DTOUT,DUOUT,HEADER,RC,URL,X,Y
|
---|
| 12 | S BODY=$NA(^TMP($J,"ONCX"))
|
---|
| 13 | S URL="http://www.hardhats.org"
|
---|
| 14 | ;
|
---|
| 15 | S RC=0
|
---|
| 16 | F D Q:RC
|
---|
| 17 | . K @BODY,HEADER
|
---|
| 18 | . ;--- Request a URL from the user
|
---|
| 19 | . K DIR S DIR(0)="F"
|
---|
| 20 | . S DIR("A")="URL",DIR("B")=URL
|
---|
| 21 | . D ^DIR I $D(DIRUT) S RC=1 Q
|
---|
| 22 | . S URL=$$TRIM^XLFSTR(Y)
|
---|
| 23 | . ;--- Request the resource
|
---|
| 24 | . S RC=$$GETURL^ONCX10(URL,,BODY,.HEADER)
|
---|
| 25 | . I RC<0 D ERROR(RC) S RC=0 Q
|
---|
| 26 | . ;--- Print the data
|
---|
| 27 | . D PRINT(BODY,.HEADER)
|
---|
| 28 | . S RC=0
|
---|
| 29 | ;
|
---|
| 30 | ;--- Cleanup
|
---|
| 31 | K @BODY
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | ;***** PRINT THE ERROR MESSAGE
|
---|
| 35 | ERROR(ERR) ;
|
---|
| 36 | W !!,"ERROR: "_$J(+ERR,3)_" "_$P(ERR,U,2),!
|
---|
| 37 | W $J("",12)_$P(ERR,U,3,4),!
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | ;***** PAUSES THE OUTPUT IN THE END OF PAGE
|
---|
| 41 | ;
|
---|
| 42 | ; N Number of lines to reserve
|
---|
| 43 | ;
|
---|
| 44 | ; Return values:
|
---|
| 45 | ; 0 Ok (continue)
|
---|
| 46 | ; >0 Exit Request or Timeout
|
---|
| 47 | ;
|
---|
| 48 | PAGE(N) ;
|
---|
| 49 | Q:($Y+$G(N))<IOSL 0
|
---|
| 50 | N DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
| 51 | S DIR(0)="E" D ^DIR W !! S $Y=0
|
---|
| 52 | Q '$G(Y)
|
---|
| 53 | ;
|
---|
| 54 | ;***** PRINTS THE RESPONSE
|
---|
| 55 | PRINT(ONCX8DAT,HEADER) ;
|
---|
| 56 | N I,J
|
---|
| 57 | ;---
|
---|
| 58 | I $D(HEADER)>0 D Q:$$PAGE(IOSL)
|
---|
| 59 | . W @IOF,"----- HTTP HEADER -----",!!
|
---|
| 60 | . W $G(HEADER),!
|
---|
| 61 | . S I=""
|
---|
| 62 | . F S I=$O(HEADER(I)) Q:I="" W I_"="_HEADER(I),!
|
---|
| 63 | ;---
|
---|
| 64 | D:$D(@ONCX8DAT)>1
|
---|
| 65 | . W @IOF,"----- MESSAGE ONCX8DAT -----",!!
|
---|
| 66 | . S I=""
|
---|
| 67 | . F S I=$O(@ONCX8DAT@(I)) Q:I="" W @ONCX8DAT@(I) D W !
|
---|
| 68 | . . S J="" F S J=$O(@ONCX8DAT@(I,J)) Q:J="" W @ONCX8DAT@(I,J)
|
---|
| 69 | Q
|
---|