| 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
 | 
|---|